質問: お世話になっております。 Oracle12を使用して、表題のことを実現したいのですが、group byは0件を集計しないので、困っております。 月の表を作りJOINすると言うのも考えましたが、月をずらっと並べただけの表はなんだか不自然に感じています。 ``` select to_char(tl.DATE, 'YYYY/MM') month, count(NUM) as 合計数 from テーブル tl where to_char(tl.DATE, 'YYYY/MM') > to_char(ADD_MONTH(SYSDATE, -6), 'YYYY/MM') group by to_char(tl.DATE, 'YYYY/MM') month order by month ``` この様なイメージの表を ``` NUM │ DATE │ xxxx ... ───────────── 1 │2017/03│ xxx 2 │2017/05│ xxx 3 │2017/06│ xxx 4 │2017/06│ xxx 5 │2017/06│ xxx ... ``` こう集計したいです。 ``` month │ 合計数 ─────────── 2017/03 │ 1 2017/04 │ 0 ← この様に0件の行も取得したい。 2017/05 │ 1 2017/06 │ 9 ``` この場合、どのような方法が考えられますでしょうか?
回答: 6ヶ月分の空の表か擬似的な表をjoinすればいいじゃないですか? 雰囲気はこんな感じでしょうか。