Oracle
 sql >> Base de données >  >> RDS >> Oracle

Comment dire à Oracle de trier selon un ordre de tri spécifique transmis depuis Java?

Si vous pouvez modifier la requête en Java, vous pouvez faire quelque chose comme ceci :

SELECT t.id
FROM t_test t
ORDER BY DECODE(t.id, 3, 'A', 'B') ASC,
         DECODE(t.id, 4, 'A', 'B') ASC,
         DECODE(t.id, 5, 'A', 'B') ASC,
         DECODE(t.id, 6, 'A', 'B') ASC,
         DECODE(t.id, 1, 'A', 'B') ASC,
         DECODE(t.id, 2, 'A', 'B') ASC;

Vous devez mettre un décodage dans la clause order by pour chaque élément de la liste. Le deuxième paramètre de chaque décodage est un élément de la liste.