Left joins with multiple tables

From: Colin Fox <cfox(at)cfconsulting(dot)ca>
To: pgsql-sql(at)postgresql(dot)org
Subject: Left joins with multiple tables
Date: 2004-01-17 02:30:01
Message-ID: pan.2004.01.17.02.29.56.311442@cfconsulting.ca
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Hi, all.

I've got a bit of a problem here. I have 4 tables - people, a, b, c (not
the original names).

For each person in the people table, they may or may not have a record in
a, may or may not have a record in b, and may or may not have a record in
c.

Handling the first table (a) is easy:

select id, name
from people p left outer join a on a.person_id = p id;

But I'd like to be able to do something like:

select
id, name, a.field1, b.field2, c.field3
from
people p left outer join a on a.person_id = p id,
people p left outer join b on b.person_id = p.id,
people p left outer join c on c.person_id = p.id;

Naturally you can't repeat the 'people p' clause 3 times, but is there
some other syntax that would let me do this?

Thanks!
cf

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Yuri Gordienko 2004-01-17 07:58:10 count(*) from cursor
Previous Message Liza 2004-01-16 18:44:35 simple tree in postgress