[英]Null result from left join
我有一个奇怪的结果来自mysql查询:
如果我用
SELECT cbe.id, cbe.user_id, cbe_profile_gender ,bud.status,cbe.avatar
FROM findme as cbe
LEFT JOIN findme_buddylist as bud ON cbe.user_id = bud.userid
WHERE cbe.user_id<>2122
AND cbe.avatar != ""
AND bud.status != "2"
我没有结果,因为表ade39_findme_buddylist为空
但是如果我删除行:
AND bud.status != "2"
我得到的结果表明bud.status = NULL
怎么了?
谢谢 !!!
LEFT JOIN
第二个表的条件应该在in
子句中:
SELECT cbe.id, cbe.user_id, cbe_profile_gender ,bud.status,cbe.avatar
FROM ade39_findme cbe LEFT JOIN
ade39_findme_buddylist bud
ON cbe.user_id = bud.userid and bud.status <> 2
WHERE cbe.user_id <> 2122 AND cbe.avatar <> '';
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.