2017-05-05 38 views
0
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

你在做什麼是比較COUNT(dbo.InvProduct.U_OwnershipType),這是數字爲「寄賣」,這是一個字符串,只能比較類似的數據類型.. – asmgx

+0

告訴我們什麼你試圖在這裏做 – asmgx

+0

它是從一個組合框,我需要將它提取到列的報告。 PLS幫助 –

回答

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') 
然後將其過濾
相關問題