He's right in saying that mysql is capable of knowing. My thoughts are that it's not worth the speed loss, extra code, and potential guess work by mysql just so you don't have to type a table name.

Eric Jensen wrote:

The way he is joining tables is fine. You can specify how to link the
using ON or you can just say to use a commonly named field with USING. The Problem is with the SELECT pk. That is ambiguous. From what table
would you like the pk field? It can be table1.pk or table2.pk.


Eric Jensen

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

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


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

















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



Reply via email to