当前位置: 代码迷 >> Sql Server >> 继续请问“中国风”大侠
  详细解决方案

继续请问“中国风”大侠

热度:44   发布时间:2016-04-27 14:55:26.0
继续请教“中国风”大侠
昨晚辛苦大侠了,在此表示感谢!那个帖子的地址是
http://topic.csdn.net/u/20111220/21/7e846993-545a-4258-afd3-fbb92b67325a.html

还有些问题没有解决:
我除了想统计每家医院,每个病种中有(未)取药记录的人数外,还得进行

某一月(如2001-1)某一家医院(如id为2)的所有病种中有(未)取药记录的人数的统计,该医院没有某病种是显示为0

我在好几个地方加了where,可都不行,还是查出来所有的结果。
不知该如何修改,求教了!

上次你写的代码如下:
SQL code
select     h.hospitalname,i.illTypeName,    isnull(p.[有取药记录的人数],0) as [有取药记录的人数],    isnull(p.[没有取药记录的人数],0) as [没有取药记录的人数]from illType i Cross join hospital hleft join (select illtypeID1,p.hospitalid,sum(case when P2.patientID is not null then 1 else 0 end) as [有取药记录的人数],sum(case when P2.patientID is  null then 1 else 0 end) as [没有取药记录的人数]from patient_info as p  left join payInfo as P2 on P2.patientID=p.patientIDgroup by illtypeID1,p.hospitalid)p on p.illtypeID1 = i.illtypeID and h.hospitalid = p.hospitalid


------解决方案--------------------
patient_info這個表有沒有日期字段,在這個表加上就行了
  相关解决方案