以下のようなsqlとその結果があるとします。
①
SELECT 物件id,更新日 FROM table1 WHERE フラグ=1 AND 更新日 BETWEEN '2017-11-01' AND '2017-11-30'
結果
物件id | 更新日 |
---|---|
10 | 2017/11/10 |
20 | 2017/11/20 |
30 | 2017/11/30 |
40 | 2017/11/25 |
50 | 2017/11/05 |
②
SELECT 物件id,納品日1 FROM table2 WHERE 種類=1
結果
物件id | 納品日1 |
---|---|
10 | 2017/10/10 |
20 | 2017/11/20 |
30 | 2017/11/30 |
③
SELECT 物件id,納品日2 FROM table2 WHERE 種類=2
結果
物件id | 納品日2 |
---|---|
10 | 2017/11/10 |
20 | 2017/09/10 |
40 | 2017/11/25 |
※②と③のテーブルは同じテーブルです。レコードは同じ物件idで複数存在している場合もあります。
このとき、
①の更新日、②の納品日1、③の納品日2を比較し、一番古い日付が存在していたら、①の結果からレコードを削除するSQLを知りたいです。
理想の結果は
物件id | 更新日 |
---|---|
30 | 2017/11/30 |
40 | 2017/11/25 |
50 | 2017/11/05 |
自分では複雑と思ったのでご質問させていただきました。
よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー