On Sat, 7 May 2005, Jochem van Dieten wrote:

>On 5/7/05, Dan Bolser wrote:
>> 
>> Why are columns included in the join between two tables ambigious?
>
>Because MySQL does not follow the SQL standard (ISO/IEC 9075-2:2003).
>
>
>> 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?
>
>It is not ambiguous according to the SQL standard. If this behaviour
>of MySQL is documented it is an omission in the MySQL implementation
>that you get the error. If this behaviour is not documented, it is a
>bug.

Perhaps the omission is documented? Should I try to log this as a bug?

I found that the following *does not* cause problems...


select * from a inner join b using (pk) group by pk;


I haven't explored the above further, but it shows that mysql goes at
least some way toward implementing the standard (if I understand what you
wrote corectly).


Out of interest, what would happen in the following case...


select pk from a inner join b on a.pk = b.pk+1; 


Would that be 'correctly' ambigious according to the sql specification?

Cheers,
Dan.


>
>Jochem
>
>--
>MySQL General Mailing List
>For list archives: http://lists.mysql.com/mysql
>To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]
>


-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to