У меня есть два выбора, которые я сейчас выполняю как СОЮЗ успешно.
(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 для отсечения дубликатов, если это необходимо.
ТНХ Адам