Mysql
 sql >> Database >  >> RDS >> Mysql

Nome colonna duplicato su JOIN in mysql

Devi fornire una colonna con alias nella query 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

Poiché sei interessato a count(*) solo tu puoi restituire t.* o r.* o una qualsiasi colonna , a condizione che i nomi delle colonne nella query interna MUST essere univoco o se sono uguali in entrambe le tabelle rispetto al prefisso nome alias tabella.