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
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 |