On 04/27/10 04:39, Jayaram Subramanian wrote:
> Hi Knut,
> I was continuing to buddy test the Derby 4370 (using clause) and when
> trying to run the following hit the error attached... Dont know though
> whether its a valid test or not
> 
> s.execute("create table t1(a int, b int, c int)");
>               s.execute("create table t2(a int, b int, c int)");
>               s.execute("create table t3(a int, b varchar(5), c int)");
> 
>               s.execute("insert into t1 values (1,2,3),(2,3,4),(4,4,4)");
>               s.execute("insert into t2 values (1,2,3),(2,3,4),(5,5,5)");
>               s.execute("insert into t3 values " +
>                       "(2,'abc',8),(4,'def',10),(null,null,null)");
> 
> ResultSet rs=s.executeQuery("select * from t1 join t2 using (a) join
> t3 using (c)");
> 
> 
> Error encountered
> =====================================
> java.sql.SQLSyntaxErrorException: Column name 'C' is in more than one
> table in the FROM list.

Hi Jayaram,

I think this error is expected. Since both T1 and T2 contain a column
named C, the second join operator doesn't know whether it should join on
T1.C=T3.C or on T2.C=T3.C.

Thanks,

-- 
Knut Anders

Reply via email to