From: | Louis-David Mitterrand <vindex+lists-pgsql-sql(at)apartia(dot)org> |
---|---|
To: | pgsql-sql(at)postgresql(dot)org |
Subject: | exclusion query |
Date: | 2008-09-22 14:34:14 |
Message-ID: | 20080922143414.GA1983@apartia.fr |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
Hi,
I've got five related tables:
- person_type:
id_person_type integer
type_fr text
- person:
id_person integer
...
- person_to_event:
id_person -> person
id_person_type -> person_type (e.g: actor, director, producer, ...)
id_event -> event
- event:
id_event integer
id_event_type -> event_type
...
- event_type:
id_event_type integer
type_fr text
To select person_type's used in a certain event_type I have this query:
select distinct pt.type
from person_type pt
natural join person_to_event
join event e using (id_event)
natural join event_type et
where et.type_fr='théâtre';
Now, I'd like to select person_type's _not_ used in a certain particular
event (say id_event=219).
I can see how to build a quey to that effect, but is there a more
obvious, clean, short solution? Something that looks like the above
query maybe?
Thanks,
From | Date | Subject | |
---|---|---|---|
Next Message | Louis-David Mitterrand | 2008-09-22 14:45:03 | Re: exclusion query |
Previous Message | Marc Mamin | 2008-09-22 10:55:24 | varchar::timezone conversion |