我有我猜測的是一個常見的數據倉庫問題。SQL填寫缺少日期
我一直在試圖做的是做一個SQL日期之間沒有差距的查詢。
事實表只記錄被測量並記錄到表中的記錄。這個案例涉及海上船隻的註冊石油生產。有些日子有些船上沒有生產。
所以這裏是我的簡單數據倉庫:DimVessel
,DimDate
和FactProduction
。在下面你看到我想要的最終結果集。
我希望SQL Query能夠用vesselkey
和Production
填充事實表,即使船上沒有生產。請記住,有些日子可能會在少數船舶上生產,其他日子可能會生產所有船舶(最好的情況)。
我希望有人能幫助我。
DimVessel
VesselKey| VesselName
1 | Vessel 1
2 | Vessel 2
3 | Vessel 3
4 | Vessel 4
5 | Vessel 5
DimDate
DateKey |Date
20160517 |2016-05-17 00:00:00.000
20160518 |2016-05-18 00:00:00.000
20160519 |2016-05-19 00:00:00.000
20160520 |2016-05-20 00:00:00.000
FactProduction
DateKey |VesselKey |Production
20160517 |4 |12505
20160517 |5 |1276
20160517 |3 |88
20160517 |2 |3919
20160518 |4 |8785
20160518 |5 |736
20160518 |1 |3754
20160518 |2 |5654
20160519 |2 |1654
20160520 |1 |2016
20160520 |3 |6059
20160520 |4 |10980
20160520 |5 |663
這是我はnt,最終結果集:
DateKey |VesselKey |Production
20160517 |4 |12505
20160517 |5 |1276
20160517 |3 |88
20160517 |2 |3919
20160517 |1 |0
20160518 |4 |8785
20160518 |5 |736
20160518 |3 |0
20160518 |1 |3754
20160518 |2 |5654
20160519 |2 |1654
20160519 |1 |0
20160519 |3 |0
20160519 |4 |0
20160519 |5 |0
20160520 |1 |2016
20160520 |3 |6059
20160520 |2 |4059
20160520 |4 |10980
20160520 |5 |663
有人會幫你確定。如果您將問題的格式設置爲人類可讀,如果您向我們展示了迄今爲止所做的工作,並且告訴我們您的問題到底是什麼 –
您是否熟悉左連接? –
我對你的問題的語法做了一些修改;如果他們以任何方式改變了含義,請隨時回滾我的編輯。 –