计算前一记录的日期字段

时间:2014-08-09 00:00:39

标签: sql sql-server sql-server-2008

  Patient Code   Unique Visit Code    AdmitDate     Discharge Date
  91260          10146440             7/20/2013     9/16/2013
  91260          10217043             9/21/2013     11/2/2013

这是一位患有2次不同就诊的患者,我需要参加最早访问的出院日期(2013年9月16日)和最近一次访问的入院日期(2013年9月21日)和确定它是否在30天内。我如何在SQL 2008中完成此任务

1 个答案:

答案 0 :(得分:1)

尝试

SELECT PATIENT_CODE, 
     CASE WHEN DATEDIFF(DAY, MIN(DISCHARGE_DATE), MAX(ADMIT_DATE)) < 30 THEN 1 ELSE 0 END
FROM TABLE1
GROUP BY PATIENT_CODE

代码

CASE WHEN DATEDIFF(DAY, MIN(DISCHARGE_DATE), MAX(ADMIT_DATE)) < 30 THEN 1 ELSE 0 END
对于那些在不到30天的时间内发生的访问,

将为1。

SQL Fiddle