我有以下表格:
Dim_Date
Dim_Prod_Cat
Fact_Prod_Sales_By_Cat
我有 SQL:
Select b.date_key,
b.day_name_of_week,
a.name prod_cat_name,
Sum(nvl(a.total_sales,0))
From Dim_Date b
Left Outer Join (Select *
From Fact_Prod_Sales_By Cat sa
Inner Join Dim_Prod_Cat c
On sa.prod_cat_key = c.prod_cat_key) a
ON a.date_key = b.date_key
Group By a.name,b.date_key
问题是,如果在 Fact 表中假设周日没有销售,我没有得到该 Prod_cat 的记录行
Dim_Date 包含 5 年(前 3 年和未来 2 年)的所有日期数据
预期的:
Prod_Cat Week_Day_Name Sales
-------- ------------- -----------
C1 Monday 1000.00
C1 Tuesday 100.00
...
..
C1 Sunday 0.00 <----
..
..
C2 Monday 1000.00
..
..
C2 Saturday 0.00 <---
C2 Sunday 10000.00
...
..