Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mengubah Baris dengan Cekap menjadi Lajur dalam Oracle?

Bagaimana untuk Mengubah Baris dengan Cekap menjadi Lajur dalam Oracle?

DDD
Lepaskan: 2025-01-04 21:27:40
asal
456 orang telah melayarinya

How to Efficiently Transform Rows into Columns in Oracle?

Cara Menukar Baris kepada Lajur dalam Oracle

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
Salin selepas log masuk

Untuk menukar baris ini kepada lajur berstruktur, anda boleh memanfaatkan fungsi DECODE dalam Oracle 10g atau klausa PIVOT yang diperkenalkan dalam Oracle 11g.

Fungsi DECODE (Oracle 10g)

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;
Salin selepas log masuk

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.

Klausa PIVOT (Oracle 11g)

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

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!

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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan