1

次のような「日付」テーブルがあります。

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

3 に答える 3