MySQL:2つのテーブル(table1:日付,値1・table2:日付,値2)を結合した際に、双方に存在しない日付の列を生成したい
select
date,
value1,
value2
from
(select
t1.date as date,
t1.value1 as value1,
t2.value2 as value2
from
table1 t1 left join table2 t2 on t1.date = t2.date
union
select
t2.date as date,
t1.value1 as value1,
t2.value2 as value2
from
table1 t1 right join table2 t2 on t1.date = 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