欠落している日付を見つける最も簡単な方法は、カレンダーテーブルを使用することです。 PostgreSQLのカレンダーテーブルを作成して入力するためのコード ;問題なく適応できるはずです。
カレンダーテーブルを配置すると、クエリは非常にシンプルで理解しやすくなります。 2011年10月の欠落している日付を見つけるには、これらの線に沿って何かを使用します。 (「投稿」テーブルを推測します。)
select c.cal_date
from calendar c
left join posts p on (c.cal_date = p.date)
where p.date is null
and c.cal_date between '2011-10-01' and '2011-10-31'
and p.userid = 1
order by c.cal_date