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.
-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]