Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mengubah Baris menjadi Lajur dalam Oracle Menggunakan DECODE dan PIVOT?

Bagaimana untuk Mengubah Baris menjadi Lajur dalam Oracle Menggunakan DECODE dan PIVOT?

Susan Sarandon
Lepaskan: 2024-12-31 15:54:21
asal
600 orang telah melayarinya

How to Transform Rows into Columns in Oracle Using DECODE and PIVOT?

Cara Menukar Baris kepada Lajur dalam Oracle

Dalam Oracle, anda boleh menghadapi senario di mana data disusun dalam baris tetapi ia perlu dipaparkan dalam gaya kolumnar. Artikel ini menyelidiki kaedah untuk menukar baris kepada lajur menggunakan fungsi DECODE atau klausa PIVOT.

Pertimbangkan jadual berikut yang mengandungi butiran pinjaman:

LOAN NUMBER   DOCUMENT_TYPE                DOCUMENT_ID
992452533663  Voters ID                    XPD0355636
992452533663  Pan card                     CHXPS5522D
992452533663  Drivers license              DL-0420110141769
Salin selepas log masuk

Untuk memutar baris ke dalam lajur, anda boleh menggunakan fungsi DECODE:

SELECT
    loan_number,
    MAX(DECODE(document_type, 'Voters ID', document_id)) AS voters_id,
    MAX(DECODE(document_type, 'Pan card', document_id)) AS pan_card,
    MAX(DECODE(document_type, 'Drivers license', document_id)) AS drivers_licence
  FROM
    doc_tab
GROUP BY loan_number
ORDER BY loan_number;
Salin selepas log masuk

Pertanyaan ini akan menghasilkan perkara berikut output:

LOAN_NUMBER   VOTERS_ID            PAN_CARD             DRIVERS_LICENCE    
------------- -------------------- -------------------- --------------------
992452533663  XPD0355636           CHXPS5522D           DL-0420110141769     
Salin selepas log masuk

Dalam Oracle versi 11g dan ke atas, klausa PIVOT menyediakan cara yang lebih mudah untuk mencapai hasil yang sama:

SELECT *
  FROM doc_tab
PIVOT (
  MAX(document_id) FOR document_type IN ('Voters ID','Pan card','Drivers license')
);
Salin selepas log masuk

Kedua-dua kaedah boleh memaksi baris ke dalam lajur dengan berkesan, membenarkan anda untuk memanipulasi dan memaparkan data anda dalam format pilihan.

Atas ialah kandungan terperinci Bagaimana untuk Mengubah Baris menjadi Lajur dalam Oracle Menggunakan DECODE dan PIVOT?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan