On Fri, 6 May 2005, Rhino wrote:
>Actually, the error message is misleading. There is nothing that I would
>call ambiguous in your query: you have a syntax error. The join should be
>written:
>
> select pk from a inner join b on a.col1 = b.col2
>
>Of course, you need to replace 'a.col1' and 'b.col2' with real column names
>from tables a and b respectively.
I would have said...
select pk from a inner join b on a.pk = b.pk;
(probably pk was a bad choice for an example column name).
Using the ON syntax instead of the USING syntax makes my problem look even
more silly than it already is, i.e. just say
select a.pk from a inner join b on a.pk = b.pk;
Thing is I use the USING syntax all the time and name equivelent columns
in different tables the same to help me do this (I read somewhere that
this is good practice).
Is it still me, or should the USING syntax 'disambiguate' columns in the
select statement?
>
>Rhino
>
>----- Original Message -----
>From: "Dan Bolser" <dmb@stripped>
>To: <mysql@stripped>
>Sent: Friday, May 06, 2005 6:50 PM
>Subject: amPiguous!
>
>
>>
>> Why are columns included in the join between two tables ambigious?
>>
>> It seems that they should *not* be ambigious!
>>
>> Like this
>>
>> select pk from a inner join b using (pk);
>>
>> ERROR 1052 (23000): Column 'pk' in field list is ambiguous!!!
>>
>> Is this a bug, or is it like this for a reason? It drives me nuts, because
>> it is not ambigious (as far as I can tell). Am I a fool?
>>
>>
>>
>> --
>> MySQL General Mailing List
>> For list archives: http://lists.mysql.com/mysql
>> To unsubscribe: http://lists.mysql.com/mysql?unsub=1
>>
>>
>> --
>> No virus found in this incoming message.
>> Checked by AVG Anti-Virus.
>> Version: 7.0.308 / Virus Database: 266.11.5 - Release Date: 04/05/2005
>>
>>
>
>
>
>