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

Menggabungkan data dari 5 tabel tanpa nilai duplikat dan mendapatkan hasil dengan status khusus di Oracle 10g

Anda dapat "memperingkat" status yang berbeda berdasarkan logika Anda dan kemudian memilih status terbaru dari mereka. Anda dapat menggunakan logika yang mirip dengan yang di bawah ini, yang menekan semua "penolakan".

Pastikan Anda menyertakan semua status lain yang memungkinkan jika Anda peduli dengan pesanan untuk status lainnya.

with t1 as
( select 1 id, 'Waiver Requested'        status from dual union all
  select 1 id, 'Rejected'        status from dual union all
  select 2 id, 'Waiver Requested'        status from dual union all
  select 2 id, 'Waiver Requested'        status from dual union all
  select 3 id, 'Rejected'                status from dual union all
  select 3 id, 'Rejected'                status from dual union all
  select 4 id, 'Waiver Requested'        status from dual union all
  select 4 id, 'Cancelled'               status from dual
)
select id,
       status,
       max(status) KEEP (DENSE_RANK FIRST
                         order by (case when status ='Rejected' then -1
                                            else 1
                                       end) desc)
          over (partition by id) final_status
  from t1

        ID STATUS           FINAL_STATUS
---------- ---------------- ----------------
         1 Waiver Requested Waiver Requested
         1 Rejected         Waiver Requested
         2 Waiver Requested Waiver Requested
         2 Waiver Requested Waiver Requested
         3 Rejected         Rejected
         3 Rejected         Rejected
         4 Waiver Requested Waiver Requested
         4 Cancelled        Waiver Requested



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. konfigurasikan Django dengan masalah basis data Oracle 11g

  2. periode batas waktu berlalu. semua koneksi yang dikumpulkan sedang digunakan dan ukuran kumpulan maksimum tercapai

  3. Perbarui kolom tabel Oracle dengan nomor baris

  4. Cara Memformat Angka Negatif dengan Kurung Sudut di Oracle

  5. Bagaimana cara meneruskan PK baru ke proc yang disimpan di Oracle Apex