簡體   English   中英

按另一個表中的值對sql組求和

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM