当且仅当id存在时,才连接具有三列的表

时间:2017-10-31 11:23:33

标签: mysql

在我的表日历中,我有三列(sal,esal,pt)和任何一列具有指向另一个表的id。我想加入sal,esal和pt if和仅当id存在时。 例如:

calendar table
--------------
id  sal     esal    pt
1   0       10      0     
2   0       0       11
3   12      0       0
4   0       13      0

1 个答案:

答案 0 :(得分:0)

您可以在join语句中添加条件。像这样:

SELECT * 
FROM calendar a
LEFT JOIN table_sal b ON a.sal = b.id AND a.sal > 0
LEFT JOIN table_esal c ON a.esal = c.id AND a.esal > 0
LEFT JOIN table_pt d ON a.pt = d.id AND a.pt > 0

如果ID不大于0

,则不会进行联接