mysql - 左连接结果为空

标签 mysql

我从 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 <> '';

关于mysql - 左连接结果为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29472352/

相关文章:

mysql - 如何对两个 SUM 的 SQL 求和结果?

php - 从 Angular 2 Web 应用程序在 MySQL 中插入数据

mysql - 在数据库中实现分层数据结构

mysql - 在 MySQL 中,我无法在循环后执行命令

python - mysql python 由于某种原因不更新表

php - SQL命令无法获取单词相关句子

mysql - Rails 中的产品、类别和品牌数据库关系

php - 下载脚本有些奇怪

mysql - 如何使用node.js创建一个webservice来将数据插入mysql?

php - Laravel 排队作业,在执行时间之前执行它