我研究了大約200個關於mysql複雜查詢的示例頁面,但它仍然存在。Mysql complex從4個表格中選擇查詢
這是我stucture
Table name: zones
zoneId | zoneName
------------------
Table name: customers
customesId | zoneId | customerName
----------------------------------
Table name: products
productId | productName
-----------------------
Table name: sales
sid | zoneId | customerId | productId | amount
----------------------------------------------
是否有可能僅通過查詢得到下面的輸出?
zoneName | customerName | productName | amount(SUM)
---------------------------------------------------
ZoneX | customerA | productName_1 | 10
| | productName_2 | 0
| | productName_3 | 4
| | productName_4 | 0
ZoneX | customerB | productName_1 | 7
| | productName_2 | 0
| | productName_3 | 4
| | productName_4 | 3
.......
我想爲 「0」,即使客戶或產品沒有銷售
我想:
SELECT zones.zoneName
, customers.customerName
, products.productName
, SUM(amount) AS amount
FROM customers
INNER JOIN zones
ON customers.zoneId = zones.zoneId
LEFT JOIN sales
ON customers.customerId = sales.customerId
LEFT JOIN products
ON sales.productId = products.productId
是的,這是可能的。雖然我不知道你爲什麼不想在每條記錄上顯示zonex和customerA。另外爲了得到0記錄你需要使用一個外連接。 – xQbert
看起來您需要'合併(Amount,0))爲Amount',並且您需要將每個客戶交叉連接到產品,以便在無銷售時處理。 – xQbert
認真考慮處理應用程序級代碼中的數據顯示問題。 – Strawberry