Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengubah Baris Secara Dinamik ke Lajur dalam Oracle?
Anda mempunyai jadual dengan pasangan kunci dan nilai dalam Oracle 10g dan ingin mengubahnya menjadi jadual dengan lajur untuk setiap kunci unik, dengan nilai yang sepadan dalam setiap baris. Jadual yang terhasil hendaklah melaraskan secara dinamik kepada mana-mana pasangan nilai kunci baharu yang ditambahkan pada jadual asal.
Oracle 11g memperkenalkan operasi PIVOT, yang membolehkan anda melakukan pemutaran dinamik sedemikian:
select * from (select id, k, v from _kv) pivot(max(v) for k in ('name', 'age', 'gender', 'status'))
Pertanyaan ini akan membuat jadual dengan lajur untuk setiap empat kunci dinyatakan dalam klausa IN.
Oracle 11g juga menyediakan pilihan XML pangsi yang membolehkan anda mengendalikan tajuk lajur yang tidak diketahui:
select * from (select id, k, v from _kv) pivot xml(max(v) for k in (any))
Pertanyaan ini akan menghasilkan set hasil XML, di mana setiap lajur sepadan dengan kunci unik, dan nilai yang berkaitan disimpan sebagai elemen XML nilai.
Atas ialah kandungan terperinci Bagaimana untuk Mengubah Baris Secara Dinamik ke Lajur dalam Oracle?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!