Menghadapi cabaran mengubah data jadual dengan berbilang baris dan lajur kepada struktur kolumnar yang lebih mudah dibaca? Pangkalan data Oracle menawarkan teknik yang berkuasa untuk memudahkan tugas ini.
Andaikan anda mempunyai jadual yang mengandungi maklumat pinjaman dan dokumen, seperti:
LOAN NUMBER | DOCUMENT_TYPE | DOCUMENT_ID ------------------------------------------ 992452533663 | Voters ID | XPD0355636 992452533663 | Pan card | CHXPS5522D 992452533663 | Drivers licence | DL-0420110141769
Untuk menukar baris ini kepada lajur berstruktur, anda boleh memanfaatkan fungsi DECODE dalam Oracle 10g atau klausa PIVOT yang diperkenalkan dalam Oracle 11g.
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 licence', document_id)) AS drivers_licence FROM doc_tab GROUP BY loan_number ORDER BY loan_number;
Pertanyaan ini menggunakan fungsi DECODE untuk menetapkan nilai pada lajur yang dikehendaki berdasarkan jenis dokumen tertentu. Fungsi MAX kemudian mengembalikan ID dokumen yang sepadan untuk setiap lajur.
SELECT * FROM doc_tab PIVOT ( MAX(document_id) FOR document_type IN ('Voters ID','Pan card','Drivers licence') );
Klausa PIVOT menjajarkan jenis dokumen sebagai lajur dan meletakkan ID dokumen yang sepadan dalam sel yang sesuai.
Dengan menggunakan teknik ini, anda boleh membentuk semula data anda dengan lebih cekap reka letak berfokus pada lajur, menjadikannya lebih mudah untuk difahami dan dianalisis lebih lanjut.
Atas ialah kandungan terperinci Bagaimana untuk Mengubah Baris dengan Cekap menjadi Lajur dalam Oracle?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!