MySQL查找未邀请的所有成员

时间:2014-01-07 17:58:40

标签: mysql

我有一个成员表,然后是一个memberevents表。 memberevents表有一个memberid和一个eventid。我试图找到所有没有事件3记录的成员。这听起来很简单,但我无法理解!我在想我应该通过memberid查询memberevents表和group,然后我认为我应该这样一个子查询,但是我不能写这个查询。有人可以帮忙吗?

我有:

SELECT * 
FROM (
    SELECT DISTINCT m.memberid 
    FROM memberevents m 
    WHERE m.eventid != 3 
    GROUP BY m.memberid
) t

1 个答案:

答案 0 :(得分:0)

您几乎可以按照您用英语表达的逻辑来表达SQL查询:

select *
from members m
where not exists (select 1
                  from memberevents me
                  where me.eventid = 3 and me.memberid = m.memberid
                 );