次のような「日付」テーブルがあります。
id date
----------------
1 2012-02-02
2 2013-02-02
3 2014-04-06
および次のような「date_range」テーブル:
start end
--------------------------
2011-01-01 2013-01-01
2014-01-01 2016-01-01
日付が「date_range」テーブル エントリのいずれにも該当しない「date」テーブルから結果を取得するにはどうすればよいですか?
期待される結果は、id->2、date->2013-02-02 です。
私はもう試した:
SELECT * FROM date
JOIN date_range
ON date.date NOT BETWEEN date_range.start AND date_range.end
そして明らかな失敗:
SELECT * FROM date
WHERE date.date NOT BETWEEN (SELECT start, end FROM date_range)