Mam dwie selekcje, z których aktualnie korzystam jako UNION.MYSQL UNION DISTINCT
(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);
Wyniki wrócić tak:
100 Melbourne Australia
200 NewYork America
300 Tokyo Japan
100 Sydney Australia
Połów jest kwerenda przyniesie duplikat user_id (w tym przypadku 100). Szczegóły w pierwszym zapytaniu mają dla mnie precedens i jeśli identyfikator użytkownika jest powtórzony w drugim zapytaniu, nie jest mi potrzebny.
Czy istnieje sposób, aby UNION być DISTINCT na kolumnie? w tym przypadku identyfikator użytkownika? Czy jest sposób, aby wykonać powyższe połączenie i nie uzyskać duplikatu user_id's - upuść drugi. Czy należy ponownie napisać zapytanie w inny sposób i nie używać UNION? Naprawdę chcę tego jako jedno zapytanie - mogę użyć SELECT i PHP, aby wyodrębnić duplikat, jeśli to konieczne.
thx Adam
jakaś szansa, możesz mi dać impuls w dobrym kierunku, z podzapytania i zewnętrznej jednej grupy przez identyfikator użytkownika? nie robiłem tego wcześniej, testowałem, ale nie dotarłem tam szybko ... – Adam
@Adam: zaktualizowałem odpowiedź. W ten sposób zapytanie może wyglądać, ale nie ma szansy sprawdzić, czy jest poprawne. – zerkms
Jeśli chciałbym dowiedzieć się, co oznacza "x" w "x GROUP BY user_id" (również przeczytałem "zamówienie" przez ... gdzieś), który dokument/tutorial/link poleciłbyś proszę? –