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