簡體   English   中英

如何將table2中的數據減去table1

[英]How to subtract data from table2 to table1

我正在嘗試像這樣在表中減去和添加現有值

表格1

id       q      q_out    
1        10         0    
2        10         0

表 2

id     q    
1      2
1      1
2      1
2      2

當我更新表 1 時,我期待這個輸出:

id     q      q_out
1      7       3   
2      7       3

但我得到這個輸出:

id     q      q_out    
1      8       2    
2      9       1

這是我的查詢:

UPDATE 
    db_pro d 
    JOIN cart c ON d.pro_num = c.p_num 
SET 
    d.q = (d.q - c.q), 
    d.out_q = (d.out_q + c.q) 
WHERE 
    c.s_num='13-37478' and 
    c.class not like 'Books' and 
    c.remarks like 'On Process'

您需要加入表格購物車的聚合值:

UPDATE 
    db_pro d 
    JOIN (
      select p_num, sum(q) q from cart 
      WHERE
        s_num='13-37478' and 
        class not like 'Books' and 
        remarks like 'On Process' 
      group by p_num
    ) c ON d.pro_num = c.p_num 
SET 
    d.q = (d.q - c.q), 
    d.out_q = (d.out_q + c.q) 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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