Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

SQL - mantém a ordenação com base nos parâmetros de consulta


Insira os valores em uma tabela temporária e una sua seleção a ela.

Você pode então fazer uma ordem natural na coluna da tabela temporária.
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;

Para limpar a tabela temporária, apenas COMMIT .