在此查询中,我需要结果仅返回具有 userID = 12345678
的行,结果还包含具有其他 userID
select `a`.*, `b`.`someField` from `a` left join `b` on `a`.`userID` = '12345678'
我该如何解决?
答案 0 :(得分:0)
您使用错误的JOIN条件:
SELECT `a`.*, `b`.`someField`
from `a` left join `b` on a.matchingField = b.matchingField
WHERE `a`.`userID` = '12345678'
这是进行适当联接的方法。您有一个字段,即matchingField,该字段是一个表中的记录与另一个表中的记录之间的链接,而userID是过滤条件。 请注意,macthingField也可以是相同的用户ID。在这种情况下:
SELECT `a`.*, `b`.`someField`
from `a` left join `b` on a.userID = b.userID
WHERE `a`.`userID` = '12345678'