Ok, tengo una tabla con una clave indexada y un campo no indexado. Necesito encontrar todos los registros con un cierto valor y devolver la fila. Me gustaría saber si puedo ordenar por múltiples valores.
Ejemplo:
id x_field
-- -----
123 a
124 a
125 a
126 b
127 f
128 b
129 a
130 x
131 x
132 b
133 p
134 p
135 i
pseudo: quisiera que los resultados se ordenen así, where ORDER BY x_field = 'f', 'p', 'i', 'a'
SELECT *
FROM table
WHERE id NOT IN (126)
ORDER BY x_field 'f', 'p', 'i', 'a'
Entonces los resultados serían:
id x_field
-- -----
127 f
133 p
134 p
135 i
123 a
124 a
125 a
129 a
La sintaxis es válida pero cuando ejecuto la consulta nunca devuelve ningún resultado, incluso si la limito a 1 registro. ¿Hay otra forma de hacer esto?
Piense en el x_field como resultados de la prueba y necesito validar todos los registros que caen en la condición. Quería ordenar los resultados de la prueba por valores fallidos, valores pasados. Entonces podría validar los valores fallidos primero y luego los valores pasados usando ORDER BY.
Lo que no puedo hacer:
- GROUP BY, ya que necesito devolver los valores de registro específicos
- DONDE x_field IN ('f', 'p', 'i', 'a'), necesito todos los valores ya que estoy tratando de usar una consulta para varias pruebas de validación. Y los valores de x_field no están en orden DESC / ASC
Después de escribir esta pregunta, estoy empezando a pensar que necesito repensar esto, ¡LOL!