对于联接表不匹配的情况,使用两个表之间的联接进行计算

时间:2018-09-13 23:00:34

标签: mysql join ifnull

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

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

如何设置是否设置为仅使用0?不确定是否/如何在此处使用ifNull ...

1 个答案:

答案 0 :(得分:1)

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

Select T1.A - coalesce(T2.B,0) as calc
from Table1 T1
Left Join Table2 T2 On T1.ID=T2.Table2_ID