0

2つのmysqlテーブル、event_templateとevent_occurrenceがあります。ここで、event_occurrenceにはevent_templateIDの列があります。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 に答える