From: | Heikki Linnakangas <heikki(at)enterprisedb(dot)com> |
---|---|
To: | Laurent HERVE <laurentjpherve(at)orange(dot)fr> |
Cc: | PostgreSQL Bugs <pgsql-bugs(at)postgresql(dot)org> |
Subject: | Re: BUG #3778: Natural join with filter problem |
Date: | 2007-11-26 12:55:16 |
Message-ID: | 474AC234.3080900@enterprisedb.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
Please keep the list CC'd.
Laurent HERVE wrote:
> in fact, i don't know why the column "code_document" is used because it
> is not in the primary key of the tables.
> So as this column is nullable, it gives unexpected results.
>
> I thought only the columns on the primary key are taken into account
> when building a join. Maybe i misunderstood something in how postgresql
> builds the join.
Ah, no. According to the docs:
NATURAL is shorthand for a USING list that mentions all columns in
the two tables that have the same names.
Because there's a column called code_document in both tables, you'll
have to use an INNER JOIN to get what you want. If you want to eliminate
the duplicate columns from the result set like a NATURAL JOIN does, you
can use INNER JOIN ... USING (list of columns).
--
Heikki Linnakangas
EnterpriseDB http://www.enterprisedb.com
From | Date | Subject | |
---|---|---|---|
Next Message | Laurent HERVE | 2007-11-26 13:47:32 | Re: BUG #3778: Natural join with filter problem |
Previous Message | Heikki Linnakangas | 2007-11-26 11:04:12 | Re: BUG #3778: Natural join with filter problem |