繁体   English   中英

左联接的结果为空

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM