Skip site navigation (1) Skip section navigation (2)

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 (view raw or flat)
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

pgsql-bugs by date

Next:From: Laurent HERVEDate: 2007-11-26 13:47:32
Subject: Re: BUG #3778: Natural join with filter problem
Previous:From: Heikki LinnakangasDate: 2007-11-26 11:04:12
Subject: Re: BUG #3778: Natural join with filter problem

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group