| 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: | Whole Thread | Raw Message | 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 |