Si mi mesa se ve así:MySQL: Obtener valores únicos a través de múltiples columnas en orden alfabético
id | colA | colB | colC
===========================
1 | red | blue | yellow
2 | orange | red | red
3 | orange | blue | cyan
Qué consulta SELECT puedo ejecutar de tal manera que los resultados devueltos son:
azul, cian, naranja, rojo, amarillo
Básicamente, quiero extraer una lista colectiva de valores distintos en varias columnas y devolverlos en orden alfabético.
No me preocupa la optimización del rendimiento, ya que los resultados se analizan en un archivo XML que servirá como caché (la base de datos apenas se actualiza). Así que incluso una solución sucia estaría bien.
¡Gracias por cualquier ayuda!
sólo elimina los duplicados compartidos entre las mesas unioned. Si cualquiera de las tablas incluye duplicados exclusivos de su propia sub selección, esos duplicados no se eliminarán, necesita SELECT DISTINCT o GROUP BY para hacerlo. –
Tampoco estoy 100% seguro, pero creo que su columna ORDER BY solo se aplica a la última selección, no a todo el conjunto de resultados unidos. Debe usar paréntesis alrededor de las declaraciones seleccionadas para aclarar el propósito. –
reko_t: por el contrario, cada uno de los seleccionados, el duplicado en cada uno de ellos también se eliminan en todos ellos –