Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Jauhkan pesanan dari klausa 'IN'

Tidak akan ada pemesanan yang dapat diandalkan kecuali Anda menggunakan klausa 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

Anda dapat membagi kueri menjadi 5 kueri yang digabungkan menjadi satu ...

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

Saya akan lebih mempercayai metode sebelumnya, dan mungkin performanya jauh lebih baik.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menghubungkan ke Database Oracle menggunakan Layanan Integrasi Server Sql

  2. Menduplikasi catatan untuk mengisi celah antar tanggal

  3. Cari database Oracle untuk tabel dengan nama kolom tertentu?

  4. Bagaimana cara memanggil fungsi Oracle atau prosedur tersimpan menggunakan kerangka kerja persistensi pegas?

  5. cx oracle ImportError