SQL question: checking all required items - Mailing list pgsql-general

From Raymond O'Donnell
Subject SQL question: checking all required items
Date
Msg-id 46BCC57E.7090708@iol.ie
Whole thread Raw
Responses Re: SQL question: checking all required items  ("Scott Marlowe" <scott.marlowe@gmail.com>)
List pgsql-general
Hi all,

Given the following tables -

   create table people (
     person_id text primary key,
     person_name text,
     [...etc...]
   );

   create table items (
     item_id text primary key,
     item_name text,
     is_required boolean,
     [...etc...]
   );

   create table items_for_people (
     person_id text,
     item_id text,
     primary key (person_id, item_id),
     foreign key person_id references people(person_id),
     foreign key item_id references items(item_id)
   );


- how can I find those people who don't have _all_ of the items which
are marked "required"?

In other words, how do I select those rows in "people" which don't have
a corresponding row in "items_for_people" for *each* row in "items"
which has is_required=true?

Many thanks,

Ray.

---------------------------------------------------------------
Raymond O'Donnell, Director of Music, Galway Cathedral, Ireland
rod@iol.ie
---------------------------------------------------------------

pgsql-general by date:

Previous
From: "Merlin Moncure"
Date:
Subject: Re: PITR for postgresql-7.3
Next
From: "Scott Marlowe"
Date:
Subject: Re: SQL question: checking all required items