从两个表中减去列

时间:2014-06-26 10:24:08

标签: mysql sql subtraction

我有两个表,我需要从中减去两列

我的查询:

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是某些记录,我也会得到null作为TotalQty的结果。即使T2中没有数据,如何正确计算?

1 个答案:

答案 0 :(得分:3)

试试这个..

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`