したがって、次のようなレコードがあるとしましょう。
2011-01-01 Cat
2011-01-02 Dog
2011-01-04 Horse
2011-01-06 Lion
2011-01-03 と 2011-01-05、つまり未使用の日付を返すクエリを作成するにはどうすればよいですか。ブログを未来にポストデートしますが、まだ何も投稿されていない日を示すクエリが必要です。現在の日付から 2 週間先の日付が表示されます。
アップデート:
私は、日付の恒久的なテーブルを構築することにあまり興奮していません。それについて考えた後、一時テーブルを作成する小さなストアド プロシージャを作成することが解決策のように思えます。何かのようなもの:
CREATE PROCEDURE MISSING_DATES()
BEGIN
CREATE TABLE TEMPORARY DATES (FUTURE DATETIME NULL)
INSERT INTO DATES (FUTURE) VALUES (CURDATE())
INSERT INTO DATES (FUTURE) VALUES (ADDDATE(CURDATE(), INTERVAL 1 DAY))
...
INSERT INTO DATES (FUTURE) VALUES (ADDDATE(CURDATE(), INTERVAL 14 DAY))
SELECT FUTURE FROM DATES WHERE FUTURE NOT IN (SELECT POSTDATE FROM POSTS)
DROP TABLE TEMPORARY DATES
END
データがないことを選択することは不可能だと思います。