Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Nome de coluna duplicado em JOIN no mysql


Você precisa fornecer uma coluna com alias na 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

Como você está interessado em count(*) somente você pode retornar t.* ou r.* ou qualquer coluna , com a condição de que os nomes das colunas na consulta interna DEVE ser exclusivo ou se for o mesmo em ambas as tabelas do que o prefixo com o nome do alias da tabela.