我有問題要顯示客戶總訂單的總銷售額(換句話說,總計價格)。使用以下SQL語句,我設法加入表格'Order1','Order2'和'Customers'以獲得必要的屬性,以顯示已完成至少3個訂單的客戶的正確城市,並將訂單數量合計到此:如何計算訂單成本
SELECT c.CityName, SUM(o2.Orderquantity) AS 'Total sales amount'
FROM Order1 o1
INNER JOIN
(SELECT o1.CustomerNr
FROM Order1 o1
GROUP BY o1.CustomerNr
HAVING COUNT(o1.CustomerNr) >= 3)
AS a ON o1.CustomerNr = a.CustomerNr
INNER JOIN Order2 o2 ON o1.Ordernr = o2.Ordernr
INNER JOIN Customers c ON o1.CustomerNr = c.CustomerNr
GROUP BY c.CityName
我看起來像工作表的結構:
- '客戶' 的列:CustomerNr,城市名稱
- 'Order1' 有列:Ordernr,CustomerNr
- 'Order2'有列:Ordernr,Productnr或Or DER量
- 「產品」中的列:ProductNr,價格
所以,我想要的是能夠顯示誰取得了至少3個數量級(到目前爲止好)城市的客戶,但還有這些客戶的總銷售額(而不是總訂購數量),有沒有人知道我可以根據上述表格結構來做到這一點?
的樣本數據:該表 樣本數據「客戶」:
- CustomerNr CityName:
- 01109 New York
- 01999 Los Angeles
- 08120 London
Sample data for 'Order1':
- Ordernr CustomerNr
- 1306 1109
- 1306 1109
- 1307 1109
Sample data for 'Order2':
- OrderNr ProductNr Order quantity:
- 1306 15-116 01109 3
- 1306 46-701 01109 2
- 1307 15-96 01109 1
- 1308 17-91 18208 1
(etc...)
Sample data for 'Products':
- ProductNr Price:
- 15-116 44.00
- 15-96 28.50
- 46-701 3000.00
etc...
正如你可以在「Order1」看到顧客可以鏈接到serveral的ordernr,並且你可以在「產品」看每個產品都有其獨特的產品和價格。正如你在'Order2'中看到的那樣,客戶1109已經(在這種情況下)爲訂單1306購買了7個15-115個產品和1個46-708個產品。但是這個客戶還購買了15個產品中的2個以另一種順序(1307)。這個客戶,這是來自紐約,先後做過共2個訂單,所以在這種情況下,結果應該是這樣的:
CITYNAME,銷售總額: 紐約,6160.50
在幾個地方重命名同一個表的別名(01)很confu唱。 – jarlh