Tengo dos selecciones que estoy ejecutando actualmente como UNION con éxito.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);
Los resultados vuelven así:
100 Melbourne Australia
200 NewYork America
300 Tokyo Japan
100 Sydney Australia
El problema es la consulta traerá user_id duplicado (en este caso el 100). Los detalles en la primera consulta tienen precedentes para mí y si el ID_usuario se repite en la segunda consulta, no lo necesito.
¿Hay alguna manera de hacer que UNIÓN sea DISTINTA en una columna? en este caso el user_id? ¿Hay alguna manera de hacer la llamada anterior y no obtener user_id duplicado? Descarte el segundo. Debería volver a escribir la consulta de manera diferente y no usar UNIÓN. Realmente lo quiero como una consulta: puedo usar SELECT y PHP para eliminar el duplicado si es necesario.
THX Adam
alguna posibilidad de que me puede dar un empujón en la dirección correcta con la sub consulta y un grupo externo por ¿identidad de usuario? no lo había hecho antes, probando pero no llegando rápidamente ... – Adam
@Adam: actualizó una respuesta. Así es como podría ser la consulta, pero no tiene oportunidad de comprobar si es correcta – zerkms
Si me gustaría saber qué significa la 'x' en 'x GROUP BY user_id' (también he leído 'una orden por ... 'en algún lugar), ¿qué documentos/tutorial/enlace recomendaría, por favor? –