0
内的所有DATEDIFFs我有一个像查找特定时间范围
一张桌子的patientid, admissiondate, dischargedate
复合键。
请注意,patientID 6
有10/21的dischargedate
和10/22的admissiondate
。
另外patientID 11
具有2/20的dischargedate
和6/14的admissiondate
。
对patientID
可以在数据库中的次数没有限制。
如何获得所有admissiondate
比前面的dischargedate
大3天或更少的天数的列表? (patientid 6
符合此法案)。它不能正确地自我加入多次。我有
select patientid, p.admissiondate, p.dischargedate
from Patient as p
where patientid in
(
select patientid
from Patient p2
group by patientid
having count(*) > 1
)
order by patientid, admissiondate
获取所有人多次看到的列表。我如何确定admissionDate
在dischargedate
之后的三天内? (从本例中的前一行开始)。
我不能做一个简单的datediff(dd,admissiondate, dischargedate)
因为我不担心datediff
上的任何一个访问,只是,在未来admissiondate
内以前dischargedate
这看起来像它的工作原理三天来一次。你能解释一下吗?和c2.AdOrd = c1.AdOrd-1'。 -1提供了什么? – wootscootinboogie 2012-08-06 15:35:22
既然'AdOrd'是基于你的'AdmissionDate'的顺序,这个条件满足你的要求,你只想比较'...以前的dischargeate' – 2012-08-06 15:41:28
我不完全理解加入上一行数与平等的入场。 – wootscootinboogie 2012-08-06 15:45:16