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]