查询基准日期后的特定时间范围

时间:2016-12-19 18:06:15

标签: sql date dateadd

我想询问所有在手术日期后6周到6个月就诊的患者,并在手术后9个月到15-18个月就诊。

我使用了DateAdd功能,但似乎我错过了一些东西。

SELECT distinct a.SUBJECTID
FROM [dbo].[XX] a
JOIN [dbo].[HH] b
on a.SUBJECTID = b.SUBJECTID
where b.HH_TOTAL_SCORE is not null 
and (b.HH_EVAL_DATE >= (DATEADD(WEEK,6,a.srg_date)) and b.HH_EVAL_DATE    <= (DATEADD(MONTH,6,A.SRG_DATE)))

1 个答案:

答案 0 :(得分:0)

我相信您需要第二次加入您的HH表,才能获得在两个日期范围内进行过术后访问的人。

SELECT distinct a.SUBJECTID
FROM [dbo].[XX] a
JOIN [dbo].[HH] b on a.SUBJECTID = b.SUBJECTID
JOIN [dbo].[HH] c on a.SUBJECTID = c.SUBJECTID
where b.HH_TOTAL_SCORE is not null 
and (b.HH_EVAL_DATE >= (DATEADD(WEEK,6,a.srg_date)) and b.HH_EVAL_DATE    <= (DATEADD(MONTH,6,A.SRG_DATE)))
and (c.HH_EVAL_DATE >= (DATEADD(MONTH,9,a.srg_date)) and c.HH_EVAL_DATE    <= (DATEADD(MONTH,18,A.SRG_DATE)))

请注意,我在解释您的陈述“手术日期后9个月至15-18个月的访问”仅仅意味着手术后9至18个月的访问。