Re: JOIN chaining not working in 7.1 beta 3 - Mailing list pgsql-sql

From Tom Lane
Subject Re: JOIN chaining not working in 7.1 beta 3
Date
Msg-id 7821.981344391@sss.pgh.pa.us
Whole thread Raw
In response to JOIN chaining not working in 7.1 beta 3  ("Josh Berkus" <josh@agliodbs.com>)
List pgsql-sql
"Josh Berkus" <josh@agliodbs.com> writes:
> And I get:
> ERROR: JOIN/ON CLAUSE REFERS TO 'c' WHICH IS NOT PART OF
> JOIN.
> What's wrong here?

I don't believe you transcribed your query accurately.
My attempt to replicate the complaint works fine:

nic=# create table a (one int, two int);
CREATE
nic=# create table b (two int, three int);
CREATE
nic=# create table c (two int);
CREATE
nic=# select a.one, b.two, c.two
nic-# FROM a INNER JOIN b ON a.one = b.three
nic-# LEFT OUTER JOIN c on a.one = c.two;one | two | two
-----+-----+-----
(0 rows)

I can get the same error message with:

nic=# select a.one, b.two, c.two
nic-# FROM a INNER JOIN b ON a.one = c.two
nic-# LEFT OUTER JOIN c on a.one = c.two;
NOTICE:  Adding missing FROM-clause entry for table "c"
ERROR:  JOIN/ON clause refers to "c", which is not part of JOIN

which is correct since the a/b join should have a join condition
that refers only to a and b.
        regards, tom lane


pgsql-sql by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: Bug with rules in 7.0.3?
Next
From: Tom Lane
Date:
Subject: Re: [GENERAL] Aggregates and joined tables...