【问题标题】:Subtract columns from two tables从两个表中减去列
【发布时间】:2025-12-25 17:20:16
【问题描述】:

我有两张表需要减去两列

我的查询:

SELECT
  `T1`.`Code`,
  (Sum(`T1`.`Qty`) - Sum(`T2`.`Qty`)) AS TotalQty
FROM
  `T1`
  LEFT JOIN `T2` ON `T1`.`Code` =
    `T2`.`Code`
GROUP BY
  `T1`.`Code`

如果我在表 T2 中有数据,这可以正常工作,但如果没有数据,即使 T1 是一些记录,我也会得到空值作为 TotalQty 的结果。 T2 中没有数据如何正确计算?

【问题讨论】:

    标签: mysql sql subtraction


    【解决方案1】:

    试试这个..

    SELECT
      `T1`.`Code`,
      (IFNULL(Sum(`T1`.`Qty`),0) - IFNULL(Sum(`T2`.`Qty`),0)) AS TotalQty
    FROM
      `T1`
      LEFT JOIN `T2` ON `T1`.`Code` =
        `T2`.`Code`
    GROUP BY
      `T1`.`Code`
    

    【讨论】:

    • IFNULL() 是我所需要的。谢谢!