【发布时间】:2015-05-29 10:23:11
【问题描述】:
我正在尝试对我的数据库中具有特定条件的记录进行计数,以最终生成一些统计报告。
My Tables and Fields are:
1- Import Table:bed_ID, unit_ID, mrn, acccount_num, sex, service_ID
2- Beds: bed_ID, unit_ID, bed_type_ID
3- Bed_Type: bed_type_ID, bed_type_description
4- Unit: unit_ID, unit_common_name, program_ID, total_beds...other fields that don't apply.
5- Service: service_ID, service_common_name, program_ID
6- Program: program_ID, program_common_name
我想创建一个查询,该查询将为我提供每个单元的每个 Bed_Type_Description 的计数。我还想获取每个单元的总床位并计算可用床位,但我相信如果我得到这部分的帮助,我可以弄清楚。
Unit Regular_Bed Escalation_Bed Transfer_Bed Bassinet
-------------------------------------------------------------
Unit1 10 4 2 2
Unit2 12 2 2 0
etc...
etc...
这是我所拥有的,但它只与一个特定的单元有关:
SELECT
COUNT(dw_test.dbo.Bed_Type.bed_type_description) as 'Total Number of Beds'
FROM
dw_test.dbo.MediTechReport_Bed_Board,
--dw_test.dbo.Unit,
dw_test.dbo.Beds,
dw_test.dbo.Bed_Type
WHERE
dw_test.dbo.MediTechReport_Bed_Board.bed_ID = dw_test.dbo.Beds.bed_ID
--AND
-- dw_test.dbo.MediTechReport_Bed_Board.unit_ID = dw_test.dbo.Unit.unit_ID
AND
dw_test.dbo.Beds.bed_type_ID = dw_test.dbo.Bed_Type.bed_type_ID
AND
dw_test.dbo.MediTechReport_Bed_Board.unit_ID = 'KA2MED'
AND
dw_test.dbo.Bed_Type.bed_type_description = 'Regular';
您会注意到与 Unit 相关的几行已被注释掉。将这些注释掉后,我得到了正确的“5”记录的返回值。如果我删除评论以包含这些行,它会返回一个值“0”,这对我来说毫无意义。如果有人可以向我解释这一点,那就太好了。 我的 SQL 很生疏,已经有一段时间了。非常感谢任何帮助。再次提前感谢您的帮助。
【问题讨论】:
-
我想我可能已经开始找到解决方案了。这是我目前所处的位置,返回值列出了每个单元以及相应的总床位数。选择 dw_test.dbo.MediTechReport_Bed_Board.unit_ID, count() as '# of Beds by Unit' from dw_test.dbo.MediTechReport_Bed_Board group by dw_test.dbo.MediTechReport_Bed_Board.unit_ID order by COUNT();需要按床型整理。
-
当我尝试合并 Bed_Type 时,它不起作用。另外,为什么我会通过在 From 子句中添加 1 个额外的表来获得不同的数字?
-
我应该在最后添加一个 Union 以允许我的脚本自行构建并为我提供所需的输出吗?
标签: mysql sql-server database