範囲内のテーブルから値を選択したい。このようなもの:
SELECT
date_values.date_from,
date_values.date_to,
sum(values.value)
FROM values
inner join date_values on values.id_date = date_values.id
inner join date_units on date_values.id_unit = date_units.id
WHERE
date_values.date_from >= '14.1.2012' AND
date_values.date_to <= '30.1.2012' AND
date_units.id = 4
GROUP BY
date_values.date_from,
date_values.date_to
ORDER BY
date_values.date_from,
date_values.date_to;
しかし、このクエリは、任意の値である日の範囲のみを返します。このような:
14.01.12 15.01.12 66
15.01.12 16.01.12 4
17.01.12 18.01.12 8
...etc
(ここでは 16.01.12 から 17.01.12 が欠落しています)
しかし、次のように欠損値も選択したい:
14.01.12 15.01.12 66
15.01.12 16.01.12 4
16.01.12 17.01.12 0
17.01.12 18.01.12 8
...etc
私は PL/SQL を使用できません。時間、月、年で使用できるように拡張できる、より一般的なソリューションをアドバイスしていただけないでしょうか。素晴らしいでしょう。