2017-08-05 9 views
-1

私は2つのテーブルを持っています: テーブルT1はテーブルT2のIDを参照してください。SQLは、表1の日付が表2の範囲内にあるかどうかを確認します。

T1 
|id_t2|start_date| 
|00001|2002-01-01| 
|00001|2003-01-01| 
|00001|2004-01-01| 
|00001|2010-01-01| 
|00002|2002-01-01| 
|00002|2003-01-01| 
|00002|2004-01-01| 

T2 
|id_t2|start_date| end_date | 
|00001|2002-08-01|2002-12-31| 
|00001|2003-01-01|2006-01-01| 
|00002|2002-02-01|2002-12-31| 
|00002|2003-01-01|2006-01-01| 

Expected résult: 
|00001|2002-01-01| <= There is no line on T2 where ids are the same and date from T1 is between T2 start_dab and end_date. 
|00001|2010-01-01| <= There is no line on T2 where ids are the same and date from T1 is between T2 start_dab and end_date. 
+1

あなたが実際に自分で試してみました何を? –

答えて

0

あなたはnot exists演算子使用することができます

SELECT * 
FROM t1 
WHERE NOT EXISTS (SELECT * 
        FROM t2 
        WHERE t2.id_t2 = t1.id_t2 AND 
          t1.start_date BETWEEN t2.start_date and t2.end_date) 
+0

いいですね。タイ – Kagwalmina

関連する問題