Ok j'ai une table avec une clé indexée et un champ non indexé. Je dois trouver tous les enregistrements avec une certaine valeur et renvoyer la ligne. Je voudrais savoir si je peux commander par valeurs multiples.
Exemple:
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: souhaite que les résultats soient classés comme ceci, 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'
Les résultats seraient donc:
id x_field
-- -----
127 f
133 p
134 p
135 i
123 a
124 a
125 a
129 a
La syntaxe est valide mais lorsque j'exécute la requête, elle ne renvoie aucun résultat, même si je la limite à 1 enregistrement. Y a-t-il une autre façon de procéder?
Considérez le champ x comme des résultats de test et j'ai besoin de valider tous les enregistrements qui correspondent à la condition. Je voulais ordonner les résultats du test par valeurs échouées, valeurs passées. Je pourrais donc valider les valeurs ayant échoué en premier, puis les valeurs passées en utilisant ORDER BY.
Ce que je ne peux pas faire:
- GROUP BY, car je dois renvoyer les valeurs d'enregistrement spécifiques
- WHERE x_field IN ('f', 'p', 'i', 'a'), j'ai besoin de toutes les valeurs car j'essaie d'utiliser une requête pour plusieurs tests de validation. Et les valeurs x_field ne sont pas dans l'ordre DESC / ASC
Après avoir écrit cette question, je commence à penser que je dois repenser cela, LOL!