Dalam Oracle, anda boleh menggunakan fungsi unpivot() untuk menukar jadual menegak kepada jadual mendatar Fungsi ini digunakan untuk menukar medan lajur dalam satu baris kepada berbilang baris data mengikut unik. nilai baris. Sintaks ialah " pilih medan daripada set data unpivot(nilai lajur untuk nama lajur tersuai dalam(nama lajur))".
Persekitaran pengendalian tutorial ini: sistem Windows 10, versi Oracle 11g, komputer Dell G3.
Penukaran lajur Oracle adalah untuk menukar medan lajur dalam satu baris kepada berbilang baris data mengikut nilai unik baris.
Data asas jadual prestasi pelajar ialah prestasi subjek pelajar sepadan dengan rekod. Kemudian kami menukar baris menjadi lajur dan mengubahnya menjadi rekod yang sepadan dengan markah pelajar dalam setiap lajur (matematik, Inggeris, Cina). Jadi artikel ini adalah untuk menukar jadual skor pelajar yang telah ditukar sebelum ini (skor_salinan jadual sandaran) kepada lajur dan baris sekali lagi dan menukarnya kepada data asal. Data kes adalah seperti berikut:
Jadi bagaimana kita melaksanakan penukaran lajur? Dua kaedah biasa diperkenalkan di bawah:
1 Gunakan kesatuan semua untuk penyambungan, yang boleh menukar lajur yang sepadan dengan sempurna kepada rekod baris Kod khusus adalah seperti berikut:
select t.stuname, '英语' as coursename ,t.英语 as score from SCORE_COPY t union all select t.stuname, '数学' as coursename ,t.数学 as score from SCORE_COPY t union all select t.stuname, '语文' as coursename ,t.语文 as score from SCORE_COPY t
Hasilnya adalah seperti berikut:
2. Masalah ini juga boleh diselesaikan dengan sempurna dengan menggunakan fungsi unpivot lajur-ke-baris Oracle sendiri Struktur sintaks khusus adalah seperti berikut:
select 字段 from 数据集 unpivot(自定义列名/*列的值*/ for 自定义列名 in(列名))
Kod pelaksanaan adalah seperti berikut :
select stuname, coursename ,score from score_copy t unpivot (score for coursename in (英语,数学,语文))
Keputusan adalah seperti berikut:
Tutorial yang disyorkan: "Tutorial Video Oracle"
Atas ialah kandungan terperinci Bagaimana untuk menukar jadual menegak Oracle kepada jadual mendatar. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!