Consulta avanzada de SQL usando UNION
Prohibida la reproducción total o parcial de este artículo sin el previo consentimiento de Webtutoriales.com
Ejemplo práctico de la instrucción UNION para obtener una lista de elementos ordenados
En muchas bases de datos como MySQL, PostgreSQL, etc que usan el lenguaje SQL permiten usar una instrucción llamada UNION, que permite unir los resultados de varias consultas. El problema que me encontré es que los resultados que devuelve unidos sólo se pueden ordenar de forma general, no por cada consulta individual. Veamos un ejemplo práctico. Imaginad que queremos hacer una consulta que nos devuelva un conjunto de elementos ordenados por fecha, de modo que nos muestre los x primeros elementos ordenados de una forma y los y siguientes de otra. En PostgreSQL podemos usar COALESCE en vez de IFNULL para comprobar que si el valor es nulo, y en Oracle podríamos usar la funcion NVL.SELECT title, IFNULL(eventos_proximos,eventos_pasados)
FROM
(
(SELECT title, begin_at as eventos_proximos,null as eventos_pasados FROM eventos
WHERE begin_at >= NOW())
UNION
(SELECT title, null, begin_at FROM eventos AND begin_at < NOW())
) t2
ORDER BY eventos_proximos, eventos_pasados DESC
Detalles sobre este artículo
Enviado por Webtutoriales:
Fecha Publicación: 16.05.2010
Este artículos ha sido visto 597 veces.
Vota este artículo:
Otros Artículos Relacionados
Enlaza Este Artículo Desde tu Web
El enlace se verá así: Consulta avanzada de SQL usando UNION
COMENTARIOS |
![]() |

COMENTARIOS