Oracle
 sql >> Datenbank >  >> RDS >> Oracle

SQL - Reihenfolge basierend auf den Abfrageparametern beibehalten

Fügen Sie die Werte in eine temporäre Tabelle ein und verbinden Sie Ihre Auswahl damit.

Sie können dann eine natürliche Reihenfolge für Ihre temporäre Tabellenspalte erstellen.

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;

Um die temporäre Tabelle zu löschen, einfach COMMIT .