Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Kết hợp dữ liệu từ 5 bảng mà không có giá trị trùng lặp và nhận kết quả với trạng thái tùy chỉnh trong Oracle 10g

Bạn có thể "xếp hạng" các trạng thái khác nhau dựa trên logic của mình và sau đó chọn trạng thái mới nhất trong số chúng. Bạn có thể sử dụng logic tương tự như bên dưới để đẩy tất cả "từ chối" xuống.

Đảm bảo bạn bao gồm tất cả các trạng thái có thể có khác nếu bạn quan tâm đến đơn đặt hàng cho phần còn lại của chúng.

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. Danh sách các tham số NLS trong Cơ sở dữ liệu Oracle

  2. Bỏ tập lệnh SQL * Plus

  3. Chọn mà không có mệnh đề FROM trong Oracle

  4. Làm thế nào để giải quyết ORA 00936 Lỗi biểu thức thiếu?

  5. Lỗi 404 Không tìm thấy với EM 12c