0

我有两个 mysql 表,event_template 和 event_occurrence,其中 event_occurrence 有一个带有 event_template id 的列。我想找到所有没有 event_occurrence 的 event_templates。

尝试这个查询我得到 0 行:

SELECT * FROM `event_template` where id NOT IN (SELECT event_template_id FROM event_occurrence)

请注意,event_template 有 166 行,此查询返回 162 行:

SELECT * FROM `event_template` WHERE id IN (SELECT event_template_id FROM event_occurrence)
4

1 回答 1

0

您应该使用NOT EXISTS而不是NOT IN. 这应该适合你:

SELECT * 
FROM event_template et
WHERE NOT EXISTS (SELECT NULL FROM event_occurrence eo where eo.event_template_id = et.id)
于 2012-07-16T19:01:29.870 回答