gpt4 book ai didi

mysql - 将一个表中的多个值减去另一表中的另一个值

转载 作者:行者123 更新时间:2023-11-29 15:51:12 25 4
gpt4 key购买 nike

enter image description here

您好,我正在尝试将名为利润的列添加到表发票中。我想准确获得红色的值。该值是表发票 amountUsd 列减去表载体付款 amountUsd 列,使用列 loadNumber 作为 ID。如果我使用以下查询对每张发票有一个运营商付款,则该方法有效。

SELECT i.*, i.amountUsd - cp.amountUsd AS PROFIT FROM invoice i INNER JOIN carriersPayments cp ON i.loadNumber = cp.loadNumber

但是,如果我有多个与橙色背景具有相同 loadNumber 的 CarrierPayment 该怎么办?是否可以将多个运营商的付款减去一张发票?

最佳答案

您可以使用joingroup by:

select i.*,
(i.amountUSD - coalesce(p.amountUSD, 0)) as profit
from invoice i left join
(select p.loadNumber, sum(p.amountUSD) as amountUSD
from carrierPayments p
group by p.loadNumber
) p
on p.loadNumber = i.loadNumber;

关于mysql - 将一个表中的多个值减去另一表中的另一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56760163/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com