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

Menggunakan COALESCE dengan benar dalam klausa WHERE

Kita dapat menggunakan ROW_NUMBER di sini untuk memilih apa yang Anda inginkan dengan prioritas:

WITH cte AS (
    SELECT f.*, ROW_NUMBER() OVER (ORDER BY DECODE(ITEM_NO, 'A15354', 1,
                                                            'CURR_NOT_IN_TABLE', 2,
                                                            'GR0013', 3,
                                                            'GUOIUW', 4, 5)) rn
    FROM fruit f
    WHERE spoiled = 'Y'
)

SELECT ITEM_NAME
FROM cte
WHERE rn = 1;

Idenya di sini adalah untuk menetapkan prioritas dari 1 hingga 5 untuk setiap item yang rusak. Kami menggunakan ROW_NUMBER untuk menghasilkan urutan yang selalu dimulai dengan 1 sebagai prioritas tertinggi yang tersedia.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pemicu di Oracle untuk menambah bidang secara otomatis dan memasukkan ke dalam tabel asosiasi

  2. Terhubung ke Oracle DB dari Spring-jdbc dengan otentikasi Oracle Wallet

  3. Konversi Oracle varchar2 ke nvarchar2

  4. ORACLE SQL Group Dengan MASIH memberikan Duplikat

  5. Bagaimana cara memeriksa versi penyedia Oracle untuk ole-db. Penyedia OraOLEDB.Oracle