Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengubah Baris menjadi Lajur dalam Oracle Menggunakan DECODE dan 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
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;
Pertanyaan ini akan menghasilkan perkara berikut output:
LOAN_NUMBER VOTERS_ID PAN_CARD DRIVERS_LICENCE ------------- -------------------- -------------------- -------------------- 992452533663 XPD0355636 CHXPS5522D DL-0420110141769
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') );
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!