表:成员

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)


我需要提取在memberr_id字段中永远不会出现member_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 - mysql查询-记录在另一个记录中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16700268/

10-13 00:50