Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Zachowaj zamówienie z klauzuli „IN”

Nie będzie wiarygodnego zamówienia, chyba że użyjesz klauzuli ORDER BY ..

SELECT SomeField,OtherField
FROM TestResult 
WHERE TestResult.SomeField IN (45,2,445,12,789)
order by case TestResult.SomeField
         when 45 then 1
         when 2  then 2
         when 445 then 3
         ...
         end

Możesz podzielić zapytanie na 5 kwerend połączonych razem, ale...

SELECT SomeField,OtherField
FROM TestResult 
WHERE TestResult.SomeField = 4
union all
SELECT SomeField,OtherField
FROM TestResult 
WHERE TestResult.SomeField = 2
union all
...

Bardziej ufałbym pierwszej metodzie i prawdopodobnie działałaby znacznie lepiej.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak określić klauzulę IN w zapytaniu dynamicznym przy użyciu zmiennej?

  2. brak ocijdbc9 w java.library.path

  3. Oracle Big Data SQL

  4. BDE kontra ADO w Delphi

  5. Dynamiczny Oracle Pivot_In_Clause