Menyatukan Berbilang Baris menjadi Baris Tunggal dalam Oracle SQL
Oracle SQL menawarkan beberapa kaedah untuk menggabungkan berbilang baris ke dalam satu baris. Satu pendekatan menggunakan fungsi WM_CONCAT
(nota: ditamatkan dalam Oracle 12c dan lebih baru). WM_CONCAT
menggabungkan nilai daripada berbilang baris dalam lajur tertentu:
<code class="language-sql">SELECT field1, WM_CONCAT(field2) FROM YourTable GROUP BY field1;</code>
Untuk versi Oracle yang WM_CONCAT
tidak tersedia, fungsi agregat tersuai menyediakan penyelesaian yang berdaya maju. Panduan terperinci tentang mencipta fungsi sedemikian untuk pengagregatan rentetan boleh didapati pada sumber seperti Oracle-base.com. Contoh asas:
<code class="language-sql">CREATE FUNCTION String_Agg(VALUES VARCHAR2, DELIM VARCHAR2) RETURN VARCHAR2; -- Function implementation details here</code>
Fungsi tersuai ini membenarkan pengagregatan nilai rentetan:
<code class="language-sql">SELECT field1, String_Agg(field2, ',') FROM YourTable GROUP BY field1;</code>
Kedua-dua WM_CONCAT
(jika berkenaan) dan fungsi agregat tersuai dengan berkesan menggabungkan berbilang baris ke dalam satu baris, mempersembahkan data dengan cara yang lebih ringkas dan teratur.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengagregatkan Berbilang Baris ke Baris Tunggal dalam Oracle SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!