Mysql
 sql >> Baza danych >  >> RDS >> Mysql

MYSQL UNION DISTINCT

Nie. Nie możesz określić, którym dokładnie polem chcesz dokonać rozróżnienia. Działa tylko z całym rzędem.

Jeśli chodzi o Twój problem - po prostu ustaw zapytanie jako podzapytanie, a w zewnętrznym 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sprawdź, czy wiersz istnieje w bazie danych przed wstawieniem

  2. Nginx - Pobieranie PHP zamiast wykonywania

  3. Android studio getSlotFromBufferLocked:nieznany błąd bufora

  4. Połącz MySQL z aplikacją Spring

  5. Czy Django psuje funkcję DateTimeField uwzględniającą strefę czasową podczas zapisywania go w bazie danych?