Paso a explicar lo que quiero:
Tengo una consulta de este tipo:
Código:
SELECT * FROM tabla WHERE id_tabla IN (5, 2, 8, 3);
Asi me sale:
================
id_tabla nombre
================
2 Mamiferos
3 Gatos
5 Animales
8 Felinos
Pero lo necesito asi:
================
id_tabla nombre
================
5 Animales
2 Mamiferos
8 Felinos
3 Gatos
Supongo que se puede hacer con un
GROUP BY, pero no veo por donde.
Tal vez se pueda pasar la lista (5, 2, 8, 3) y que me ordene como estan enlistados solo que no he encontrado la forma.
Existe una solucion, que es partir el SELECT en varios y con UNION juntar las salidas.
Código:
SELECT * FROM tabla WHERE id_tabla = 5
UNION
SELECT * FROM tabla WHERE id_tabla = 2
UNION
SELECT * FROM tabla WHERE id_tabla = 8
UNION
SELECT * FROM tabla WHERE id_tabla = 3
De esta manera me salen los resultados ordenados como quiero, pero no creo que sea muy funcional si tengo una lista de mas de 20 elementos.
Creo que esto es una forma de ordenacion arbitraria.