G'day, There seems to be a kind of statement parsing problem in 7.4.5 (from debian postgresql-7.4.5-3, i386).
Either that, or I'm missing something... The following script: ---------------------------------------------------------------------- create table t1 ( foo1 integer, foo2 integer ); create table t2 ( foo3 integer ); create table t3 ( foo4 integer, foo5 integer ); create table t4 ( foo6 integer ); \echo \echo ----------- \echo this works \echo ----------- select 1 as "OK" from t1, t2, t3 join t4 on (t4.foo6 = t3.foo5) where t2.foo3 = t1.foo1 and t3.foo4 = t1.foo2 ; \echo \echo ------------ \echo Error, from simply swapping the order of t2 and t3 ??? \echo ------------ select 1 from t1, t3, t2 join t4 on (t4.foo6 = t3.foo5) where t2.foo3 = t1.foo1 and t3.foo4 = t1.foo2 ; \echo \echo ------------ \echo slightly different error, using a table alias \echo ------------ select 1 from t1, t3 a, t2 join t4 on (t4.foo6 = a.foo5) where t2.foo3 = t1.foo1 and a.foo4 = t1.foo2 ; ---------------------------------------------------------------------- produces the output: ---------------------------------------------------------------------- ----------- this works ----------- OK ---- (0 rows) ------------ Error, from simply swapping the order of t2 and t3 ??? ------------ psql:/tmp/test.sql:32: NOTICE: adding missing FROM-clause entry for table "t3" psql:/tmp/test.sql:32: ERROR: JOIN/ON clause refers to "t3", which is not part of JOIN ------------ slightly different error, using a table alias ------------ psql:/tmp/test.sql:46: ERROR: relation "a" does not exist ---------------------------------------------------------------------- So is it me, or is this just a bit borken ? Cheers, Chris. ---------------------------(end of broadcast)--------------------------- TIP 9: the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match