mysql查询-记录在另一个记录中

标签 mysql

表:成员

fields:
member_id - unique primary id
voter_id - the member_id of another record

John Doe - member_id = 1, voter_id = 0
ABC Inc. - member_id = 2, voter_id = 1 (John Doe is the voter)

我需要提取 member_id 从未出现在 voter_id 字段中的所有记录。在本例中,我需要它来查找member_id 2,而不是member_id 1。

谢谢大家。我查了一下,但没有在这里找到答案。

最佳答案

有很多方法可以做到这一点..这里有一些。 子选择

SELECT * 
FROM  member 
WHERE member_ID not in (select voter_ID from member)

加入

SELECT  * 
FROM member ma
LEFT join member mb on mb.voter_Id = ma.member_Id and Mb.meber_ID is null

存在

SELECT Member_ID, Voter_ID 
FROM member MA 
WHERE not exists (Select 1 from member MA where MA.Member_ID = MB.Voter_ID)

至于选择哪个取决于很多因素,但这里有一个 opinion

关于mysql查询-记录在另一个记录中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16700268/

相关文章:

php - mysql连接查询没有得到正确的输出

python - MySQL,行消失

php - 为什么mysql查询中双引号消失了?

使用 'like' 时 Mysql 日期时间索引不工作

MySQL - InnoDB 索引 varchar 或索引多个 varchars

android - RESTful API 或 Socket.IO

javascript - 单击生成的按钮时数据库中的增量值

mysql - couchdb 相当于关系数据库模型

mysql - 与变量表的一对多关系

java - 玩! 2.0 应用程序启动时数据库覆盖。 (MYSQL)