我有一个成员表,然后是一个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
答案 0 :(得分:0)
您几乎可以按照您用英语表达的逻辑来表达SQL查询:
select *
from members m
where not exists (select 1
from memberevents me
where me.eventid = 3 and me.memberid = m.memberid
);