Ver Mensaje Individual
  #4 (permalink)  
Antiguo 24/02/2010, 07:03
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Column 'nombre' in where clause is ambiguous en consulta inversa

Código MySQL:
Ver original
  1. FROM coches C INNER JOIN marcas M ON C.nombre = M.nombre;

El error sale en el último punto:
Cita:
and marcas.nombre=nombre.
Ese campo no está determinado de dónde sale, es decir, a qué tabla pertenece. Si la idea era usar una variable para poner ese dato, entonces el código en general estaba incompleto o mal redactado.
Por otro lado, cuando tienes una relación de datos como la que estás poniendo (al vincular dos tablas sobre un campo), eso no se hace en el WHERE sino por JOINs. Es cierto que ponerlo en el WHERE funciona, pero el problema es la falta de optimización de la consulta, ya que el WHERE no es optimizable por el MySQL y el FROM... JOIN si.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)