sql >> Base de Datos >  >> RDS >> Mysql

Nombre de columna duplicado en JOIN en mysql

Debe proporcionar una columna con alias en la consulta interna

SELECT COUNT( * )
FROM (

  SELECT t.*
  FROM `user` `t`
  JOIN `user_relation` r ON ( t.user_id = r.follower_id
  OR t.user_id = r.user_id )
  WHERE r.status = "active"
  AND (
    r.user_id =125
    OR r.follower_id =125
  )
  AND t.user_id !=125
  GROUP BY t.username
)sq

Ya que estás interesado en count(*) solo usted puede devolver t.* o r.* o cualquier columna, con la condición de que los nombres de las columnas en la consulta interna DEBEN ser único o si son iguales en ambas tablas que el prefijo con el nombre de alias de la tabla.