创建新列,该值是不同表上2列的减法

时间:2019-06-25 14:24:28

标签: mysql

enter image description here我已经完成了一个名为invoice的表,并且我想在此表上创建PROFIT列。要获得利润值,我需要从表格发票中减去列的金额减去表格的carriersPayments上的金额amountUsd。这两个表的列loadNumber完全相同。

1 个答案:

答案 0 :(得分:1)

您可以使用以下SELECT

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

要减去多个运营商付款,您可以使用以下查询:

SELECT i.id, i.loadNumber, i.amountUsd - SUM(cp.amountUsd) AS PROFIT 
FROM invoice i INNER JOIN carriersPayments cp ON i.loadNumber = cp.loadNumber
GROUP BY i.id, i.loadNumber, i.amountUsd

demo on dbfiddle.uk