Consider, if you will, the following tables:
This may seem like a strange structure, but allow me to explain. The goal of this structure is to create a report listing all people, excluding those on vacation (for simplicity, we'll pretend that the vacation record will only exist if a person is on vacation.)
The reason I have the Vacation table at all is because the Event table is a more general use table for "insignificant" events, whereas the Vacation table includes more details such as the location and date.
What I can't seem to figure out is how to design a query that includes, say, Person.personId and Vacation.location, but only those personIds that exist in Person_Vacation. Or the inverse, only personIds that DO NOT exist in Person_Vacation.
Also, does this seem to be the best way to implement this solution, design-wise? Any ideas on what I might have done wrong or suggested improvements?
EDIT: Maybe i'm just not too good at communicating my intentions: turns out getting only the persons on vacation is easy, but i would like to perform the inverse, basically all persons NOT on vacation.