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

Oracle SQL - Konversi nilai kolom N baris ke kolom N dalam 1 baris

Dengan asumsi bahwa Anda tidak peduli dengan urutan apa deskripsi dikembalikan (mis. Jeremy Smith dapat dengan benar memiliki Description1 atau "Bingung" dan Description2 dari "Tinggi"), Anda hanya perlu memutar nomor baris. Jika Anda peduli dengan urutan deskripsi yang dikembalikan, Anda dapat menambahkan ORDER BY klausa ke fungsi jendela di ROW_NUMBER fungsi analitik

SELECT firstName, 
       lastName,
       MAX( CASE WHEN rn = 1 THEN description ELSE NULL END ) description1,
       MAX( CASE WHEN rn = 2 THEN description ELSE NULL END ) description2,
       MAX( CASE WHEN rn = 3 THEN description ELSE NULL END ) description3
  FROM (SELECT firstName,
               lastName,
               description,
               row_number() over (partition by lastName, firstName) rn
          FROM descriptions
               JOIN people USING (firstName, lastName)
         WHERE age >= 25)
   GROUP BY firstname, lastname

Selain itu, saya berharap Anda benar-benar menyimpan tanggal lahir dan menghitung usia orang tersebut daripada menyimpan usia dan berasumsi bahwa orang memperbarui usia mereka setiap tahun.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana catatan dengan panjang tetap dan bidang dengan panjang tetap meningkatkan kinerja database?

  2. Bagaimana Cara Membuat Skema di Oracle Menggunakan SQL Developer?

  3. Bagaimana cara mengekstrak data dari sistem SAP ABAP?

  4. Bagaimana cara memperbaiki subquery baris tunggal Ora-01427 mengembalikan lebih dari satu baris dalam pilihan?

  5. Tidak dapat menemukan prosedur dalam tampilan DBA_PROCEDURES