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

Pertanyaan bergabung SQL

Anda dapat menggunakan kombinasi Analytics (jika Anda menggunakan versi Oracle yang cukup baru) dan Tabel Pivot untuk melakukannya. Ini akan bekerja dengan set data Anda.

select ndc,
       max(decode(rn, 1, rx_num, null)) rx1,
       max(decode(rn, 2, rx_num, null)) rx2,
       max(decode(rn, 3, rx_num, null)) rx3,
       max(decode(rn, 4, rx_num, null)) rx4
  from (select *
          from (select claims_list.ndc,
                       claims_list.rx_num,
                       row_number() over (partition by claims_list.ndc order by claims_list.date desc) rn
                  from claims_list,
                       (select * 
                          from (select *
                                  from drug_list
                                 where type = 'Generic'
                                order by qty desc
                               )
                         where rownum < 51
                       ) drug_list
                 where drug_list.ndc = claims_list.ndc
               )
         where rn < 5
        order by ndc, rn
       )
group by ndc;

Permintaan dalam menggunakan analitik untuk menarik 4 nomor rx terbaru untuk setiap obat berdasarkan tanggal klaim. Kemudian kami menggunakan pivot untuk mengambilnya dari 4 baris per obat menjadi satu baris dengan 4 kolom.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Menghitung Perbedaan Antara Dua Tanggal di PostgreSQL/Oracle

  2. 12c kolom IDENTITAS

  3. Rekayasa Balik Model Data menggunakan Oracle SQL Developer

  4. Bagaimana Cara Membuat Fungsi di PL/SQL?

  5. Mengaktifkan SSL atau TLS di Oracle Apps R12