我的問題是在下面的表結構。所有按storeName
和storeId
分組的項目將顯示每個商店的每件商品的總數。但是,一些在一些商店,因此顯示爲空..不出售的項目是不是能夠基於包含空值的2列的SQL Server 2008分組
- 顯示雞蛋&培根,而不是
NULL
的第8條中itemName
柱和 - 顯示焦炭代替
NULL
第二個8在itemName
列等。
我不知道他們有多少物品。所以它是動態的。
我想這樣做,因爲我用pentaho報表設計器創建了一個交叉表報表。它工作正常,但它需要數據才能正確顯示它。所以每個商品必須有8個記錄,每個商店一個。所以我可以按商店分組,itemname
。因此,報告顯示 - 或0表示這些商店未售出的商品。
我有什麼
storeId storeName itemName total
1 storeA egg&bacon 75
2 storeB NULL NULL
3 storeC egg&bacon 30
4 storeD NULL NULL
5 storeE NULL NULL
6 storeF egg&bacon 50
7 storeG NULL NULL
8 storeH NULL NULL
1 storeA coke 105
2 storeB coke 90
3 storeC coke 60
4 storeD NULL NULL
5 storeE coke 20
6 storeF coke 80
7 storeG NULL NULL
8 storeH NULL NULL
我想要的東西(如下面的表格是不現實的,我可以對組創建單獨的列他們,但又能怎麼樣?)
storeId storeName itemName total
1 storeA egg&bacon 75
2 storeB egg&bacon 0
3 storeC egg&bacon 30
4 storeD egg&bacon 0
5 storeE egg&bacon 0
6 storeF egg&bacon 50
7 storeG egg&bacon 0
8 storeH egg&bacon 0
1 storeA coke 105
2 storeB coke 90
3 storeC coke 60
4 storeD NULL 0
5 storeE coke 20
6 storeF coke 80
7 storeG NULL 0
8 storeH NULL 0
這是樣本SQL語句
SELECT storeId , storeName, itemName, total FROM STORE
LEFT OUTER JOIN
(
SELECT storeId, storeName, itemId, total FROM REVENUE_CENTER as RVC
LEFT OUTER JOIN MENU_ITEM_TOTAL as MIT ON STORE.storeId = MIT.storeId
) as subQ ON STORE.storeId = subQ.storeId
LEFT OUTER JOIN MENU_ITEM as MI ON MI.itemId = subQ.itemId
在此先感謝 Oz。
我也很感激,如果有人建議一種替代方法。 – Ozland
什麼是收入中心? – Brian