Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MYSQL UNION DISTINCT

Nein. Sie können nicht angeben, mit welchem ​​genauen Feld Sie sich abgrenzen müssen. Es funktioniert nur mit der ganzen Zeile.

Was Ihr Problem betrifft - machen Sie Ihre Abfrage einfach zu einer Unterabfrage und in der äußeren 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