mysql - 获取未记录在联接表中的行

标签 mysql

tables

如上所示,我得到了这 3 个表。

我的目标是获取 user 1 (jm) 没有使用react的所有 bits

目前我有这个 MySQL 代码:

select * from bit b LEFT JOIN bit_reaction br ON (br.bitId=b.id AND br.userId != 1)

这里的问题是 bit_reaction.id = 2 被返回,因为 br.userId 不等于 1。正确的行为是它只会返回 id 为 2 和 3 的位。

感谢您的提示!

最佳答案

select b.*
from bit b
left join bit_reaction br ON br.bitId = b.id 
                         AND br.userId = 1
WHERE br.bitId is null

关于mysql - 获取未记录在联接表中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31312376/

相关文章:

php - 对分页的一些误解

php - SQL 从多个表中选择 *

mysql - 提取在正则表达式中匹配并以空格为界的子字符串

MySQL 错误 1045 (28000) : Access denied for user 'bill' @'localhost' (using password: YES)

mysql - 在区分大小写的情况下创建的 myisam 表是否比不区分大小写的表现更好?

mysql - 查询缓存mysql

mysql - 更新/插入

mysql - 将子查询(不在)重写为Join

java - 在java中从JDBC连接到MySql

mysql - 没有 JDBC 类型 : 0 的方言映射