我有兩個表: ITEMS
與數量和unit_price(id |名稱| order_id | qt | unit_price) 和表ORDERS
。MySQL UPDATE SELECT SUM來自不同的表
我想要UPDATE
表orders
和orders.total_price sum of multiplications qt*unit_price
在相同的訂單,以獲得訂單的總價格。
上的項目表中的SELECT
查詢很簡單,工作正常捐贈資金用於相同的order_id內的所有物品:
SELECT SUM(items.qt*items.unit_price) from items GROUP by items.order_id
,但我不能插入我的ORDERS
表此值。我不能做這樣的工作:
UPDATE orders, items SET orders.total_price = (SELECT SUM(items.qt*items.unit_price)
FROM items GROUP BY items.order_id) WHERE orders.id = items.order_id
返回"Subquery returns more than 1 row"
我發現了一個非常類似的問題here但答案並沒有爲我工作,以及:
UPDATE orders SET orders.t_price = (SELECT SUM(items.qt*items.unit_price) from items WHERE orders.id = items.order_id)
請顯示你的完整查詢你在做什麼,如mysql_query(「查詢」) –
我現在在phpmyadmin中這樣做,所以上面的第二個查詢是我嘗試的實際查詢:「UPDATE orders,items SET orders.total_price =(SELECT SUM (items.qt * items.unit_price)FROM items GROUP BY items.order_id)WHERE orders.id = items.order_id「 – Milosz