我们在MS SQL-Server 2012上。用户想知道患者下一次入院时间是否因任何原因少于30天。不必被同一个提供者看到
我不知道如何读取下一条记录,如果MRN ID相同,则计算您所在记录与下一条记录之间的天数差异。
例如:
Record 1 : MRNID =33 Discharge date = 1/1/2016
Record 2 : MRNID = 33 Admission date = 2/2/2016
MRNID是一样的,所以我算了。然后我将记录2与记录3进行比较并执行相同的过程。
答案 0 :(得分:2)
使用Lead()窗口功能
select mrnid,
admission_date,
discharge_date,
lead(admission_date) over (partition by mrnid order by admission_date) next_date
from table;
SAMPLE OUTPUT
mnrid admission_date lead(admission_date)
33 2016-01-01 2016-01-02
33 2016-01-02 2016-01-03
33 2016-01-03 2016-01-04
33 2016-01-04 null
34 2016-01-01 2016-01-02
34 2016-01-02 2016-01-03
34 2016-01-03 2016-01-04
34 2016-01-04 null