SELECT
dbo.RtlStore.Description,
COUNT(dbo.InvProduct.U_OwnershipType) AS CONSIGNMENT,
COUNT(dbo.InvProduct.U_OwnershipType) AS OUTRIGHT,
COUNT(dbo.InvProduct.U_OwnershipType) AS HOURSEBRAND,
COUNT(dbo.InvProduct.U_OwnershipType) AS GOI,
COUNT(dbo.InvProduct.U_OwnershipType) AS OTHERS
FROM
dbo.RtlStore
LEFT OUTER JOIN
dbo.InvProduct
LEFT OUTER JOIN
dbo.TrxTransactionSaleItem ON dbo.InvProduct.ProductKey = dbo.TrxTransactionSaleItem.ProductKey
LEFT OUTER JOIN
dbo.TrxTransaction ON dbo.TrxTransactionSaleItem.TransactionKey = dbo.TrxTransaction.TransactionKey
ON dbo.RtlStore.StoreKey = dbo.TrxTransaction.StoreKey
GROUP BY
dbo.RtlStore.Description
HAVING
(COUNT(dbo.InvProduct.U_OwnershipType) = N'CONSIGNMENT')
AND (COUNT(dbo.InvProduct.U_OwnershipType) = N'OUTRIGHT')
AND (COUNT(dbo.InvProduct.U_OwnershipType) = N'HOUSEBRAND')
AND (COUNT(dbo.InvProduct.U_OwnershipType) = N'GOI')
AND (COUNT(dbo.InvProduct.U_OwnershipType) = N'OTHERS')
0
A
回答
0
您是否想要轉發數據?如果是的話試試這個:
SELECT
dbo.RtlStore.Description,
max(case when dbo.InvProduct.U_OwnershipType = N'CONSIGNMENT' then 1 else null end) AS CONSIGNMENT,
max(case when dbo.InvProduct.U_OwnershipType = N'OUTRIGHT' then 1 else null end) AS OUTRIGHT,
max(case when dbo.InvProduct.U_OwnershipType = N'HOUSEBRAND' then 1 else null end) AS HOURSEBRAND,
max(case when dbo.InvProduct.U_OwnershipType = N'GOI' then 1 else null end) AS GOI,
max(case when dbo.InvProduct.U_OwnershipType = N'OTHERS' then 1 else null end) AS OTHERS
FROM
dbo.RtlStore
LEFT OUTER JOIN
dbo.InvProduct
LEFT OUTER JOIN
dbo.TrxTransactionSaleItem ON dbo.InvProduct.ProductKey = dbo.TrxTransactionSaleItem.ProductKey
LEFT OUTER JOIN
dbo.TrxTransaction ON dbo.TrxTransactionSaleItem.TransactionKey = dbo.TrxTransaction.TransactionKey
ON dbo.RtlStore.StoreKey = dbo.TrxTransaction.StoreKey
GROUP BY
dbo.RtlStore.Description
+0
WOAHHHHHHH。它的工作非常感謝你先生 –
0
嘗試此刻評論的HAVING部分,看看是否會幫助,一旦你得到的結果,你可以使用具有
SELECT dbo.RtlStore.Description, COUNT(dbo.InvProduct.U_OwnershipType) AS CONSIGNMENT, COUNT(dbo.InvProduct.U_OwnershipType) AS OUTRIGHT, COUNT(dbo.InvProduct.U_OwnershipType)
AS HOURSEBRAND, COUNT(dbo.InvProduct.U_OwnershipType) AS GOI, COUNT(dbo.InvProduct.U_OwnershipType) AS OTHERS
FROM dbo.RtlStore LEFT OUTER JOIN
dbo.InvProduct LEFT OUTER JOIN
dbo.TrxTransactionSaleItem ON dbo.InvProduct.ProductKey = dbo.TrxTransactionSaleItem.ProductKey LEFT OUTER JOIN
dbo.TrxTransaction ON dbo.TrxTransactionSaleItem.TransactionKey = dbo.TrxTransaction.TransactionKey ON dbo.RtlStore.StoreKey = dbo.TrxTransaction.StoreKey
GROUP BY dbo.RtlStore.Description
--HAVING
-- (COUNT(dbo.InvProduct.U_OwnershipType) = N'CONSIGNMENT')
-- AND (COUNT(dbo.InvProduct.U_OwnershipType) = N'OUTRIGHT')
-- AND (COUNT(dbo.InvProduct.U_OwnershipType) = N'HOUSEBRAND')
-- AND (COUNT(dbo.InvProduct.U_OwnershipType) = N'GOI')
-- AND (COUNT(dbo.InvProduct.U_OwnershipType) = N'OTHERS')
然後將其過濾
相關問題
- 1. 無法從「詮釋」轉換爲「詮釋*」
- 2. 子串錯誤詮釋轉換爲字符串
- 3. Mysql2 ::錯誤:having子句「
- 4. 轉換詮釋到整數
- 5. SQL,HAVING子句解釋
- 6. Mysql2 ::錯誤:在'having子句'中的未知列'註釋'
- 7. 錯誤:「詮釋」是無法轉換爲「@lvalue浮動」
- 8. 錯誤C2440: '=':無法從 '詮釋' 轉換爲 '的char [5]'
- 9. Python的錯誤 - OverflowError:Python的詮釋太大,轉換爲C長
- 10. 錯誤:從「詮釋」到「爲const char *」無效轉換
- 11. 錯誤C2664:無法從 '詮釋' 轉換參數1到 'INT []'
- 12. 錯誤:函數模板,不能轉換,從「詮釋」到「雙」
- 13. 轉換浮動,以詮釋差異
- 14. 無法從「詮釋」轉換參數「詮釋和」
- 15. 錯誤不能轉換 '詮釋**' 到 '詮釋*' 的參數 '1' 到 'INT顯示爲(int *)'
- 16. 在having子句
- 17. sql錯誤:轉換nvarchar轉換失敗
- 18. 詮釋轉換工作不
- 19. 轉換詮釋返回NaN
- 20. 無法從「詮釋」轉換爲「System.Predicate
- 21. 浮點無需轉換詮釋爲int
- 22. C#不能轉換詮釋爲雙
- 23. 轉換詮釋爲String LINQ表達式
- 24. 如何使多個計數having子句
- 25. CSHARP ado.net錯誤數據類型爲nvarchar轉換爲數字
- 26. C#錯誤的數據類型爲nvarchar轉換爲數字
- 27. 詮釋到數字轉換誤差在SQL Server
- 28. C程序設計:轉換六角詮釋爲char *
- 29. SQL - 在HAVING子句
- 30. 錯誤在視圖中將數據類型nvarchar轉換爲bigint
你在做什麼是比較COUNT(dbo.InvProduct.U_OwnershipType),這是數字爲「寄賣」,這是一個字符串,只能比較類似的數據類型.. – asmgx
告訴我們什麼你試圖在這裏做 – asmgx
它是從一個組合框,我需要將它提取到列的報告。 PLS幫助 –