【发布时间】:2021-01-26 23:41:58
【问题描述】:
我回到了一个可能很简单的问题,但(作为一个 SQL 新手)我似乎无法弄清楚。
我基本上是在为医院运行一份相当简单的报告。他们想要一份报告,详细说明每次从紧急部门开出特定药物的情况,以及报告中列出已分配单位总数的部分。最后一部分是我遇到的麻烦。
目前,我在报告生成器报告中添加了一个额外的列,表示“Qty_Dispensed_Total”,我希望它是分配/规定的 TOTAL 单位数,但它显示的是不同的数字每一行,没有一个数字是总数。
一个问题是所有字段都是 VarChar,但无论我尝试什么,我最终都会收到错误或不正确的“总计”。
这是我正在使用的:
SELECT Dispensed_DTTM,
MRN,
Visit_Number,
Medication_Description,
Qty_Dispensed,
SUM(CAST(Qty_Dispensed AS INT)) AS Qty_Dispensed_Total,
Department_Name
FROM dbo.T_SomeTable
WHERE (
CAST([Dispensed_DTTM] AS DATE) BETWEEN '01/01/2020' AND '12/31/2020' AND
Medication_Description LIKE '%Trazodone 50%' AND
Department_Name LIKE '%Emergency%'
)
GROUP BY Dispensed_DTTM, Qty_Dispensed, MRN, Visit_Number, Medication_Description, Department_Name
ORDER BY Dispensed_DTTM;
我在 GROUP BY 语句中添加了因为没有它我无法让代码运行。
我确定我错过了一些简单的东西,但我不能指望它。
只是为了澄清/TLDR:我希望 Qty_Dispensed_Total 字段是一个数字,表示所有 Qty_Dispensed 行的总计(总和)。
如果我可以提供任何其他信息(或者如果您需要报告的屏幕截图),请告诉我。
【问题讨论】:
-
我觉得你有点迷失了,让事情变得比他们需要的更复杂。我建议编辑您的问题以准确显示您在报告中需要哪些数据(您需要显示哪些详细信息,您需要进行哪些聚合等)。查询同时包含详细信息和聚合数据是不正常的做法,我(目前)无法理解您为什么需要它。回归基础,我相信答案很简单。
标签: sql sql-server reporting-services report