【发布时间】:2012-10-11 23:08:01
【问题描述】:
例如,我有一个表 Person,其中每个条目都有一个 ID,我有一个表 PersonEvent,它记录了活动中每个人的 personID。
如果PersonEvent 不包含该事件的行,则Person 表中的每个人都参加了。但是,如果PersonEvent 表中有条目,则只有那些人参加了该活动。
我想做一个查询,例如:
SELECT *
FROM Person p
WHERE ((SELECT COUNT(*)
FROM PersonEvent pe
WHERE pe.personID = p.ID
AND pe.eventID = '290') = 0
OR EXISTS
(SELECT *
FROM PersonEvent pe
WHERE pe.personID = p.ID
AND pe.eventID = '290'))
我该怎么做?
【问题讨论】:
-
什么是数据库服务器?查询语法很重要
-
@sehe 谢谢 - SQL 2008,虽然我确信我能够转换语法,但只是在逻辑上有点挣扎。 RichardTheKiwi 整理好了!