Şu anda UNION olarak çalıştığım iki tane seçimim var.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);
sonuç böyle gel:
100 Melbourne Australia
200 NewYork America
300 Tokyo Japan
100 Sydney Australia
yakalamak sorgu (bu durumda 100) yinelenen user_id getirecektir olduğunu. İlk sorgudaki ayrıntılar benim için önceliklidir ve eğer user_id ikinci sorguda tekrarlanırsa ona ihtiyacım yoktur.
Bir sütun üzerinde DISTINCT olması için bir UNION almanın bir yolu var mı? bu durumda user_id? Yukarıdaki çağrıyı yapmanın ve yinelenen user_id'leri almanın bir yolu var mı? Sorguyu farklı bir şekilde yeniden yazmalı ve bir UNION kullanmamalı mıyım? Gerçekten tek bir sorgu olarak istiyorum - Gerekirse, çoğaltmak için SELECT ve PHP için kullanabilirim.
thx Adam
Eğer alt sorgu ve dış bir grup tarafından doğru yönde bana bir itme verebilir herhangi bir şans içinde Kullanıcı adı? Bunu daha önce yapmadım, test ettim ama hızlıca oraya gitmiyor ... – Adam
@Adam: bir cevabı güncelledi. Sorgu böyle görünebilir, ancak doğru olup olmadığını kontrol etme şansına sahip değilsiniz. – zerkms
Eğer 'x' grubundaki 'x' ifadesinin ne anlama geldiğini öğrenmek istersem (siparişi okudum) ... 'bir yerlerde', hangi dokümanlar/öğretici/bağlantıyı önerirsiniz? –