代码之家  ›  专栏  ›  技术社区  ›  user3649739

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

  •  0
  • user3649739  · 技术社区  · 6 年前

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

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

    1 回复  |  直到 6 年前
        1
  •  1
  •   Adrian Maxwell    6 年前

    使用 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