我想显示的30天之内显示在SQL
这里是我必须在录取表中的数据发生,患者全部入院内30天所有的再住院:
patient_id admid adm_date dis_date
215 12 2011-05-17 14:43:00.000 2011-05-19 13:50:00.000
421 13 2009-05-12 05:51:00.000 2009-05-13 18:35:00.000
417 15 2014-02-12 16:44:00.000 2014-02-17 14:35:00.000
417 17 2015-04-04 19:54:00.000 2015-04-05 15:00:00.000
865 18 2009-09-28 05:40:00.000 2009-09-29 10:00:00.000
992 19 2010-05-20 05:06:00.000 2010-05-25 17:51:00.000
421 20 2009-05-29 07:15:00.000 2009-05-31 13:45:00.000
421 17 2009-06-18 04:52:00.000 2009-06-19 10:55:00.000
421 18 2009-06-30 13:39:00.000 2009-07-23 17:57:00.000
326 21 2010-07-01 17:41:00.000 2010-07-01 17:41:00.000
326 14 2010-06-07 11:35:00.000 2010-06-08 15:58:00.000
215 16 2011-06-02 14:40:00.000 2011-06-03 13:25:00.000
我试着此查询:
With adm as
(select patient_id, admid, adm_date, dis_date,row_number() over(partition by patient_id order by adm_date) as r
from admissions)
select a1.patient_id, a1.admid, a2.admid, a1.adm_date, a1.dis_date
from adm a1 inner join adm a2 on a1.patient_id=a2.patient_id
where a1.admid <> a2.admid and a1.r+1=a2.r
and a2.adm_date between a1.dis_date and dateadd(d,30, a1.dis_date)
order by a1.patient_id
我得到的结果为:
patient_id admid adm_date dis_date
215 12 2011-05-17 14:43:00.000 2011-05-19 13:50:00.000
421 13 2009-05-12 05:51:00.000 2009-05-13 18:35:00.000
421 20 2009-05-29 07:15:00.000 2009-05-31 13:45:00.000
421 17 2009-06-18 04:52:00.000 2009-06-19 10:55:00.000
326 14 2010-06-07 11:35:00.000 2010-06-08 15:58:00.000
但这不是我想要的结果,因为对于患者215有两个入院的时间间隔小于30,我想显示这个患者的两个入院,但是我的结果只有一个入院。
我想下面,而不是显示为上述结果:
patient_id admid adm_date dis_date
215 12 2011-05-17 14:43:00.000 2011-05-19 13:50:00.000
215 16 2011-06-02 14:40:00.000 2011-06-03 13:25:00.000
421 13 2009-05-12 05:51:00.000 2009-05-13 18:35:00.000
421 20 2009-05-29 07:15:00.000 2009-05-31 13:45:00.000
421 17 2009-06-18 04:52:00.000 2009-06-19 10:55:00.000
421 18 2009-06-30 13:39:00.000 2009-07-23 17:57:00.000
326 14 2010-06-07 11:35:00.000 2010-06-08 15:58:00.000
326 21 2010-07-01 17:41:00.000 2010-07-01 17:41:00.000
请帮助!
如果您设置文章的格式,您会得到更好的结果。阅读您的数据非常困难。 –
我刚刚提交了一个编辑,它应该修改格式。 –
非常感谢! – Cathy