首页 > 解决方案 > 对于连接表不匹配的情况,使用两个表之间的连接进行计算

问题描述

我正在尝试计算静态表和动态表之间的值(从 A 中减去 B)。在某些情况下,动态表还没有与静态表匹配的记录,所以我只希望它减去 0。我的 Join 在这些情况下返回 NULL:

Select T1.A-T2.B from Table1 T1
Left Join Table2 T2
On T1.ID=T2.Table2_ID

我如何设置 if 以便它只使用 0 呢?不确定是否/如何在此处使用 ifNull ...

标签: mysqljoinifnull

解决方案


如果 T2.B 不可用,请使用coalesce()或 MySQL 特定函数来提供零:ifnull()

选择 T1.A - coalesce(T2.B,0) 作为计算
从表 1 T1
Left Join Table2 T2 On T1.ID=T2.Table2_ID

推荐阅读