[英]sum sql group by values from another table
我有2個表:在線訂單,在線訂單明細我有一個問題,如何根據明細訂單表計算在線訂單表中的訂單總金額。
明細表如下所示:
id_order Id_product quantity price value
1 2 1 3 3
1 3 2 2 4
2 1 1 5 5
我想對id_order中的所有值求和並將其插入在線訂單表中的訂單總額中。
您可以通過SQL命令幫助我嗎?
目前尚不清楚您使用的是哪種數據庫系統。 如果要更新orders.total_amount
此更新語句將在任何數據庫下運行:
update orders
set total_amount = (
select SUM(value)
from orders_details
where id_order = orders.id
)
where EXISTS(select *
from orders_details
where id_order = orders.id)
此更新語句在MySQL下有效:
update orders u
inner join (select id_order, SUM(value) as total
from orders_details
GROUP BY id_order) s on
u.id = s.id_order
set u.total_amoun = s.total
這是你想要的嗎?
SELECT o.id_order, SUM(quantity * price) AS total_price
FROM online o
INNER JOIN detail d
ON d.id_order = o.id_order
GROUP BY o.id_order
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.