Re: RE: [SQL] Why *no* ambig.uous complain in select part? - Mailing list pgsql-sql

From Emi Lu
Subject Re: RE: [SQL] Why *no* ambig.uous complain in select part?
Date
Msg-id 48AF2B49.3020300@encs.concordia.ca
Whole thread Raw
In response to Why *no* ambig·uous complain in select part?  (Emi Lu <emilu@encs.concordia.ca>)
Responses Re: RE: [SQL] Why *no* ambig.uous complain in select part?  (Mark Roberts <mailing_lists@pandapocket.com>)
List pgsql-sql
Hi Luigi,

> you will have problems if table 1 and table 2 have the same names to col1 e
> col2. For example, table1 has col1=parcel and col2=area and table 2 has
> col1=country and col2=area then, in that case you will have ambiguity.

Would you please give me an example?

I have two tables like the following:
T1 (col1 varchar, col2 varchar, primary key (col1, col2))
T2 (col1 varchar, col2 varchar, primary key (col1, col2))


Query I have is:
===================
select col1, col2
from      T1
left join T2 using (T1, T2);

Thanks a lot!







> 
> 2008/8/22 Emi Lu <emilu@encs.concordia.ca>
> 
>> Hi Edward,
>>
>>  Just a guess, but it seems to me that since the join is using col1 and
>>> col2
>>> there is no ambiguity. They should be the same no matter which table it
>>> comes from.
>>>
>> Not always the same; "Left join" may return:
>>
>> table2.col1,col2 = null,
>> while table1.col1,col2 is not null
>>
>>
>>
>>
>>
>>  -----Original Message-----
>>> From: pgsql-sql-owner@postgresql.org [mailto:
>>> pgsql-sql-owner@postgresql.org]
>>> On Behalf Of Emi Lu
>>> Sent: Friday, August 22, 2008 4:12 PM
>>> To: pgsql-sql@postgresql.org
>>> Subject: [SQL] Why *no* ambig.uous complain in select part?
>>>
>>> Good morning,
>>>
>>> Just notice one small thing, and need your information about select
>>>
>>> select col1, col2
>>> from table1
>>> left join table2
>>> using (col1, col2)
>>>
>>> ;
>>>
>>> This query never complain about ambiguous columns of col1 and col2 in the
>>> select part.
>>>
>>> My guess is:
>>> (1) col1, col2 always return table1.col1, table1.col2
>>> (2) because using (col1, col2)
>>>     that's why, table name is not necessary in select part
>>>
>>> Am I wrong? Please advise?
>>>
>>> Thank you!
>>>
>>>
>>>
>>>
>>>
>> --
>> Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org)
>> To make changes to your subscription:
>> http://www.postgresql.org/mailpref/pgsql-sql
>>
> 
> 
> 



pgsql-sql by date:

Previous
From: Emi Lu
Date:
Subject: Re: RE: [SQL] Why *no* ambig.uous complain in select part?
Next
From: Mark Roberts
Date:
Subject: Re: RE: [SQL] Why *no* ambig.uous complain in select part?