Ordenación dinámica en consulta SQL


Seguro que más de una vez hemos caído en la tentacion, como desarrolladores, de diseñar consultas rápidamente sin preocuparnos de los posibles parámetros de dicha consulta respecto a la agrupación, orden, etc, y el código luego se nos complicaba. La verdad es que algo tan simple me ha llevado un buen rato descubrir pero al final dejo por aquí un ejemplo en SQL de cómo sería una ordenación dinámica para valores de una variable (@x), por ejemplo pasada en un store procedure. De igual forma podemos hacerlo para cualquier otra sentencia (SELECT, INSERT, etc). Nos vemos.

SELECT * FROM nombre_tabla
ORDER by
CASE WHEN @x='A' THEN campo1 END,
CASE WHEN @x='B' THEN campo2 END DESC
.........

No hay comentarios :

Publicar un comentario

Buscar en el Blog: