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

MYSQL UNION DISTINCT


Não. Você não pode especificar com qual campo exato você precisa distinguir. Ele só funciona com a linha inteira.

A partir do seu problema - basta fazer sua consulta uma subconsulta e em uma externa GROUP BY user_id
SELECT * FROM 
(SELECT a.user_id,a.updatecontents as city,b.country
FROM userprofiletemp AS a
LEFT JOIN userattributes AS b ON a.user_id=b.user_id
WHERE typeofupdate='city')

UNION DISTINCT

(SELECT a.user_id,c.city,c.country
FROM userverify AS a
LEFT JOIN userlogin AS b ON a.user_id=b.user_id
LEFT JOIN userattributes AS c ON a.user_id=c.user_id
WHERE b.active=1 AND a.verifycity=0) x
GROUP BY user_id