[mysql]减去两个表中的列

标签: sql MySQL
发布时间: 2017/1/9 21:50:57
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我有两个想要减去两个列的表

我为此查询︰

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,表中有数据,但如果有没有比我的数据得到 null 作为结果为 TotalQty,即使 T1 是一些记录,这效果很好。如何获得正确计算甚至还有在 T2 中没有的数据?

解决方法 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`
赞助商