Re: sql join question

From: Ragnar Hafstað <gnari(at)simnet(dot)is>
To: Scott Frankel <leknarf(at)pacbell(dot)net>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: sql join question
Date: 2005-03-02 06:52:37
Message-ID: 1109746357.16690.98.camel@localhost.localdomain
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Tue, 2005-03-01 at 16:51 -0800, Scott Frankel wrote:
> Sweet! And not so sweet.
>
> The natural join worked beautifully with my test schema; but it failed
> to yield any rows with my real-world schema. I think I've tracked down
> why: duplicate column names. i.e.:
> ...
> CREATE TABLE palettes (palette_pkey SERIAL PRIMARY KEY,
> palette_name text UNIQUE DEFAULT NULL,
> qwe text);
>
> CREATE TABLE tones (tone_pkey SERIAL PRIMARY KEY,
> tone_name text UNIQUE DEFAULT NULL,
> palette_pkey integer REFERENCES palettes,
> qwe text);
>
> Are the 'qwe' columns in both tables clobbering each other and
> preventing the
> join from succeeding?

the docs really explain this better than I can, but a
table1 NATURAL JOIN table2
is shorthand fo a
table1 JOIN table2 USING (list_of_common_keys)

so:
select color_name from palettes
join tones USING (palette_pkey)
join colors USING (tone_pkey)
where palette_name='plt1';

see:
http://www.postgresql.org/docs/8.0/interactive/sql-select.html

gnari

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Greg Stark 2005-03-02 07:10:07 Re: Performance of Views
Previous Message Keith Tsao 2005-03-02 05:15:24 Replication from other SQL Server