On Sat, 7 May 2005, Simon Garner wrote:

>On 7/05/2005 11:00 a.m., 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.
>> 
>> Rhino
>
>Not true, his join syntax is correct.
>
>       select pk from a inner join b using (pk)
>
>is the same as saying
>
>       select pk from a inner join b on a.pk = b.pk
>
>However, MySQL is complaining about the "select pk" part because it 
>doesn't know whether to select a.pk or b.pk. I think what Dan is arguing 
>is that MySQL should know from the join that a.pk and b.pk are the same, 
>so it doesn't matter which one it uses.

Exactly! Afterall a.pk = b.pk! However, I can imagine how this could
become somewhat tricky with the ON syntax.


>
>-Simon
>
>
>
>> 
>> ----- Original Message ----- 
>> From: "Dan Bolser" <[EMAIL PROTECTED]>
>> To: <mysql@lists.mysql.com>
>> 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/[EMAIL PROTECTED]

Reply via email to