2017-03-13 195 views
0

我對sql和Stack Overflow很陌生。我希望有人能幫助我解決這個問題。我的查詢應該顯示銷售額超過20萬美元的類別的總銷售額和總項目。我一直在研究這個查詢一個小時,並在我的智慧結束,幫助表示讚賞!需要幫助的初學sql學生

select distinct c.categoryname, 
    sum(p.unitprice * od.Quantity) as 'Sales' 
    from Categories c 
    inner join Products p 
    on c.CategoryID = p.CategoryID 
    inner join OrderDetails od 
    on p.ProductID = od.ProductID 
    where p.unitprice < 200000 
    group by c.categoryname 

我希望我至少在正確的軌道上,感謝您的幫助!

+0

你過濾那些具有較少的*單價超過20000 *的產品,這是爲什麼? –

+0

它可能是'銷售> 200000'而不是單位價格 –

+0

@prashanth - 我給你的建議嘗試一下,我收到這個錯誤:「將varchar值'sales'轉換爲數據類型int時轉換失敗。無論如何謝謝! – user7701115

回答

0

試試這個版本:

SELECT 
    c.categoryname, 
    sum(od.Quantity) as "Items Sold", -- you were missing this 
    sum(p.unitprice * od.Quantity) as "Sales" 
FROM 
    Categories c 
    INNER JOIN Product p ON c.CategoryID = p.CategoryID, 
    INNER JOIN OrderDetails od on p.ProductID = od.ProductID 
WHERE 
    sum(p.unitprice * od.Quantity) > 200000 -- filter on the sales, not product 
GROUP BY 
    c.categoryname 
+1

這讓我走向了正確的方向,我不得不做出改變使用此行有總和(p.UnitPrice * od.Quantity)> 200000感謝您的幫助! @Burhan – user7701115

+0

@ user7701115你可以爲你提供幫助!或者如果你不能贊成就標記爲答案! –