sql >> Base de Datos >  >> RDS >> Oracle

Consulta SQL para obtener ID de pedido, ID de transacción, estado basado en el estado de la transacción que es Char

Un método usa row_number() :

select t.*
from (select t.*,
             row_number() over (partition by orderid
                                order by instr('LOW,MEDIUM,HIGH', status) as seqnum
      from transaction t
     ) t
where seqnum = 1;

instr() es solo una forma conveniente de asignar un orden a las cadenas. Devuelve la posición del estado en el primer argumento, lo cual es conveniente para fines de clasificación en este caso.