2017-06-26 8 views
0

テーブルには3つの重要な列があり、それぞれに日付が格納されています。日付を基にした3x列からの行の引き出し

ID Inpatient_date ER_date

私は病院(Inpatient_dateを)見ての30日以内に、ER(ER_date)に行ってきました人々(ID)を見つけるためにしようとしています。 inpatient_date列内のすべての日付を調べ、ER_date列の各日付と比較できるようにする必要があります。これらの結果から、ER_dateが30日以内の行とInpatient_dateを格納している行が同じ人物IDを持つようにすることで、さらに絞り込むことができます。

私はこれを行う方法を犠牲にしています。

+1

まだ苦労している場合は、https://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to- be-a-very-simple-sql-query – Strawberry

答えて

1

あなたはexistsを使ってこれを行うことができます:私は「ER 1-30日病院でされた後の訪​​問」などあなたの質問を解釈しています

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 
      ); 

。 30日前または30日前と30日前を検索する場合は、サブクエリの条件を調整できます。

関連する問題