MYSQL UNION DISTINCT

У меня есть два выбора, которые я в настоящее время успешно выполняю как UNION.

(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);

Результаты возвращаются следующим образом:

100 Melbourne Australia
200 NewYork America
300 Tokyo Japan
100 Sydney Australia

Уловка в том, что запрос возвращает повторяющийся user_id (в данном случае 100). Детали в первом запросе имеют для меня прецедент, и если user_id повторяется во втором запросе, мне он не нужен.

Есть ли способ заставить UNION быть DISTINCT в столбце? в этом случае user_id? Есть ли способ выполнить вышеуказанный вызов и не получить дубликаты user_id - отбросьте второй. Следует ли переписать запрос по-другому и не использовать UNION. На самом деле хочу, чтобы это был один запрос - я могу использовать SELECT и PHP, чтобы при необходимости отсеять дубликаты.

thx Adam

30
задан Saeed 6 August 2011 в 07:28
поделиться