Oracle SQL: Menggabungkan Nilai Lajur Merentas Berbilang Baris
Panduan ini menunjukkan kaedah yang cekap untuk menggabungkan nilai lajur daripada berbilang baris dalam Oracle SQL. Fungsi LISTAGG
menyediakan penyelesaian yang mudah:
<code class="language-sql">SELECT pid, LISTAGG(Desc, ' ') WITHIN GROUP (ORDER BY seq) AS description FROM B GROUP BY pid;</code>
Pertanyaan ini melakukan tindakan berikut:
pid
: Baris dalam jadual B
dikumpulkan berdasarkan lajur pid
.Desc
: Fungsi LISTAGG
menggabungkan nilai daripada lajur Desc
untuk setiap kumpulan pid
. Ruang (' ') digunakan sebagai pembatas.seq
: Susunan penyatuan dalam setiap kumpulan ditentukan oleh lajur seq
.description
yang terhasil: Rentetan bercantum untuk setiap kumpulan pid
diberikan kepada lajur description
.Untuk mendapatkan semula nilai pid
tertentu, sertai set hasil ini dengan jadual A
.
Pertimbangan Penting: LISTAGG
dioptimumkan untuk VARCHAR2
lajur. Untuk jenis data lain, terokai teknik pengagregatan rentetan Oracle alternatif.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggabungkan Nilai Lajur daripada Berbilang Baris dalam Oracle SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!