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

SQL - conserver l'ordre en fonction des paramètres de requête

Insérez les valeurs dans une table temporaire et joignez-y votre sélection.

Vous pouvez alors faire un ordre naturel sur votre colonne de table temporaire.

CREATE GLOBAL TEMPORARY TABLE sort_table (
  value       VARCHAR2(100),
  sort_order  NUMBER
) ON COMMIT DELETE ROWS;

INSERT INTO sort_table VALUES ('B123',1);
INSERT INTO sort_table VALUES ('B483',2);
... etc. ...

select * from mytable
inner join sort_table
on mytable.mycolumn = sort_table.value
order by sort_table.sort_order;

Pour effacer la table temporaire, il suffit de COMMIT .