Re: BUG #3778: Natural join with filter problem

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

In response to

Responses

Browse pgsql-bugs by date

  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