根据日期从3x列中提取行

时间:2017-06-26 20:16:05

标签: mysql

我的表中有3列重要的列,每列都存储一个日期。

ID Inpatient_date ER_date

我试图在看到医院(Inpatient_date)后的30天内找到哪些人(ID)去了ER(ER_date)。我需要能够查看inpatient_date列中的每个日期,并与ER_date列中的每个日期进行比较。然后从这些结果中,通过使ER_date的行在30天内进一步缩小范围,并且包含Inpatient_date的行具有相同的人员ID。

我对如何做到这一点感到茫然。

1 个答案:

答案 0 :(得分:1)

您可以使用exists

执行此操作
select t.*
from t
where exists (select 1
              from t t2
              where t2.er_date > t.inpatient_date and
                    t2.er_date < t.inpatient_date + interval 30 day
             );

我将您的问题解释为&#34;在住院后1-30天访问ER&#34;。如果您要查看之前30天或之前和之后30天,您可以调整子查询中的条件。