sql >> Databasteknik >  >> RDS >> Mysql

MYSQL UNION DISTINKT

Nej. Du kan inte ange vilket exakt fält du behöver särskilja med. Det fungerar bara med hela raden.

Med tanke på ditt problem - gör bara din fråga till en underfråga och i den yttre 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


  1. Hur felsöker man Lås vänta timeout överskriden på MySQL?

  2. mysql lagrar automatiskt tidsstämpel för att skapa rekord

  3. Kombinera resultat från två orelaterade frågor till en enda vy

  4. fråga inte lika fungerar inte