Re: Finding multiple events of the same kind

From: Frank Bax <fbax(at)sympatico(dot)ca>
To: pgsql-sql(at)postgresql(dot)org
Subject: Re: Finding multiple events of the same kind
Date: 2006-06-11 13:27:12
Message-ID: 5.2.1.1.0.20060611092112.04a773f0@pop6.sympatico.ca
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

At 08:53 AM 6/11/06, Leif B. Kristensen wrote:

>I've got two tables:
>
>CREATE TABLE events (
> event_id INTEGER PRIMARY KEY,
> tag_fk INTEGER NOT NULL REFERENCES tags (tag_id),
> place_fk INTEGER NOT NULL REFERENCES places (place_id),
> event_date CHAR(18) NOT NULL DEFAULT '000000003000000001',
> sort_date DATE NOT NULL DEFAULT '40041024BC',
> event_note TEXT NOT NULL DEFAULT ''
>);
>
>CREATE TABLE participants (
> person_fk INTEGER NOT NULL REFERENCES persons (person_id),
> event_fk INTEGER NOT NULL REFERENCES events (event_id) ON DELETE
>CASCADE,
> is_principal BOOLEAN NOT NULL DEFAULT false,
> PRIMARY KEY (person_fk, event_fk)
>);
>
>The table "participants" is of course a many-to-many relation
>between "events" and "persons". My problem is that it's entirely
>possible to insert eg. multiple birth events for one person, and I'd
>like to be able to spot these.

Something like this should get a list of person_fk values that have more
than one birth date:

SELECT participants.person_fk, count(participants.person_fk) FROM events,
participants
WHERE events.event_id = participants.event_fk
AND events.tag_fk in (2,62,1035)
GROUP BY participants.person_fk HAVING count(participants.person_fk) > 1

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Leif B. Kristensen 2006-06-11 13:34:17 Re: Finding multiple events of the same kind
Previous Message Leif B. Kristensen 2006-06-11 12:53:07 Finding multiple events of the same kind