我有以下MySQL表:
在此表中,我想LEFT JOIN另一个表,但仅限于 action == 2
或 action == 3
的行。这可能通过某种方式指定LEFT JOIN部分,或者我需要做更多的SELECT和UNISON吗?
编辑:action = 1的行只能包含LEFT JOIN中的NULL值。
答案 0 :(得分:3)
SELECT ...
FROM sometable
LEFT JOIN jointable ON (sometable.field = jointable.field AND (action IN (2,3)))
你可以在JOIN条件下拥有任意逻辑。它最终要做的就是归结为真/假值。如果结果为true,则连接成功并包含连接的字段。如果结果为false,则不会对该特定行组合进行连接。
答案 1 :(得分:1)
SELECT * FROM table AS t LEFT JOIN another_table AS at ON t.id = at.id WHERE t.action = 2 OR t.action = 3
这不能为您提供您想要的结果吗?