昨晚辛苦大侠了,在此表示感谢!那个帖子的地址是
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這個表有沒有日期字段,在這個表加上就行了