mysql sql mysql-error-1060

mysql - # 1060-Nombre de columna duplicado ''id''



mysql-error-1060 (4)

Por qué obtengo # 1060 - Nombre de columna duplicado ''id''

SELECT COUNT(*) FROM (SELECT * FROM `tips` `t` LEFT JOIN tip_usage ON tip_usage.tip_id=t.id GROUP BY t.id) sq


Probablemente es porque la selección interna produce dos columnas con el id nombre. Como no está utilizando esas columnas, puede cambiar la selección a:

SELECT COUNT(*) FROM (SELECT t.id FROM `tips` `t` LEFT JOIN tip_usage ON tip_usage.tip_id=t.id GROUP BY t.id) sq


Probablemente porque * en select * selecciona dos columnas con el mismo nombre de tip_usage y tips .


Su consulta es equivalente a esto:

SELECT COUNT(DISTINCT id) FROM tips

, no hay necesidad en una unión.

¿Estás seguro de que no querías un INNER JOIN lugar?


Tenía el mismo problema, cambiar el nombre a cláusula selecta me salvó

SELECT people.id, vehicle.id ...

Lo renombré con la palabra clave AS

SELECT people.id AS person_id, vehicle.id ...