2014-10-06 70 views
-1

我有一個SQL查詢來列出比一個訂單製作更多 的客戶的姓名和總支出。以下列出了所有相關信息,但我正在努力研究如何向前邁進。如何在SQL查詢中組合來自4個不同表的信息?

SELECT l.quantity, o.orderID, i.itemID, o.custID, i.unitcost, c.familyname 
FROM lineitems l, orders o, items i, customers c 
WHERE l.itemID = i.itemID 
AND c.custID = o.custID 
AND o.orderID = l.orderID 
ORDER BY o.custID 
+0

問題是什麼/問題? – newBee 2014-10-06 12:45:23

+0

lookup group by – 2014-10-06 12:45:33

+0

sum()和count()函數將幫助你解決這個問題。那麼你需要一個條款。鑑於這聽起來像是一個功課問題,我建議您查閱您的教科書,瞭解我提到的內容。 – 2014-10-06 12:47:46

回答

1
Select customerId, Sum(i.quantity*i.unitCost) 
From lineitems I 
    join orders o on o.orderID = i.orderID 
where Exists(Select * From orders 
      where customerId = o.customerId 
      having count(*) > 1) 
group by customerId 

,或者用名稱,而不只是客戶ID

Select c.familyname, Sum(i.quantity*i.unitCost) 
From lineitems I 
    join orders o on o.orderID = i.orderID 
    join customers c on c.customerId = o.customerId 
where Exists(Select * From orders 
      where customerId = o.customerId 
      having count(*) > 1) 
group by c.familyname 
相關問題