這來獲得項目的總和在車表是一個推廣到我以前的問題,它碰巧是因爲該項目是在另一個表...MySQL的加入查詢從來自多個表
我有4個表:
車
+------------+----------+------------+---------+
| customerid | itemcode | cartactive | type |
+------------+----------+------------+---------+
| 9916 | X | Yes | Package |
| 9916 | Y | Yes | Product |
+------------+----------+------------+---------+
產品
+-------------+------------+
| ProductCode | shipWeight |
+-------------+------------+
| Y | 1 |
| ITEM1 | 1 |
| ITEM2 | 2 |
| ITEM3 | 1 |
+-------------+------------+
包
+-------------+
| PackageCode |
+-------------+
| X |
+-------------+
PackageItems
+-------------+-------------+
| PackageCode | ProductCode |
+-------------+-------------+
| X | ITEM1 |
| X | ITEM2 |
| X | ITEM3 |
+-------------+-------------+
所以基本上但不容易即時通訊試圖讓我們看到這裏的車中所有項目的總和應該是5
這是我寫的返回的查詢不是獨特的表/別名:「產品」:
Select
SUM(products.shipWeight) as totalweight
FROM
cart
Left JOIN products ON products.ProductCode = cart.itemCode
LEFT JOIN packageitems d on cart.itemCode = packageitems.PackageCode
LEFT JOIN products on d.ItemCode = products.ProductCode
WHERE
cart.customerId= '9916' AND
cart.cartActive = 'Yes'
我想我一定怎麼也得先找到的所有常規產品的總和然後找到包中的所有項目,並計算它們的運輸成本,並添加在一起。我對此有點新鮮。幫助將不勝感激。
'產品'表上是否出現'X'包裝代碼?因爲如果那樣的話會產生重複的,因爲會加入'產品'和'包' –
X與產品是分開的。只有包裝物品在產品中。 – NeoSketo
什麼是'package'表格?該查詢不使用它。 – Barmar