Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menggabungkan Nilai Lajur daripada Berbilang Baris dalam Oracle SQL?
Oracle SQL: Menggabungkan Nilai Lajur Merentas Berbilang Baris
Panduan ini menunjukkan cara menggabungkan nilai lajur daripada berbilang baris dalam pangkalan data Oracle menggunakan SQL. Kami akan meneroka kaedah yang cekap, termasuk fungsi agregat dan fungsi LISTAGG
.
Satu pendekatan berkesan menggunakan fungsi LISTAGG
:
<code class="language-sql">SELECT pid, LISTAGG(Desc, ' ') WITHIN GROUP (ORDER BY seq) AS description FROM TableB GROUP BY pid;</code>
Pertanyaan ini menggabungkan nilai Desc
dengan bijak daripada TableB
untuk setiap PID
yang berbeza, menggunakan ruang sebagai pemisah. Kumpulan output terhasil dengan PID
, menyediakan satu rentetan bercantum untuk setiap satu.
Untuk menyepadukan PID
nilai daripada TableA
, penyertaan diperlukan:
<code class="language-sql">SELECT a.PID, b.description FROM TableA a INNER JOIN (SELECT pid, LISTAGG(Desc, ' ') WITHIN GROUP (ORDER BY seq) AS description FROM TableB GROUP BY pid) b ON a.PID = b.pid;</code>
Pertanyaan yang dicantumkan ini memberikan hasil akhir: setiap baris memaparkan PID
daripada TableA
bersama rentetan Desc
digabungkan yang sepadan daripada TableB
.
Atas ialah kandungan terperinci Bagaimana untuk Menggabungkan Nilai Lajur daripada Berbilang Baris dalam Oracle SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!