質問: t2.date) t order by date ``` ・テーブルデータ table1 table2 日付 value1 日付 value2 1/1 1 1/5 5 1/2 2 1/6 6 1/3 3 1/7 7 ・SQL実行結果 date value1 value2 1/1 1 1/2 2 1/3 3 1/5 5 1/6 6 1/7 7 上記SQLですと、1/4の列は両テーブルに存在しないため生成されませんが、下記のように1/4のデータも生成したいです。 (つまり、最初の日付から最後の日付の間でスキップしている日付データを生成したい) date value1 value2 1/1 1 1/2 2 1/3 3 1/4 1/5 5 1/6 6 1/7 7
回答: 閏年も考慮した日付マスターテーブルを作り、そのマスタに対象となるトランザクションのテーブルを外部結合でつけるのが一番楽なのではないでしょうか? また、取り出したいデータの日付レンジの最小と最大の値を、対象となるトランザクションテーブルの最小値と最大値としない場合でも、日付マスターをwhere句で絞るだけなので簡単ですよ。