Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menggabungkan Nilai Lajur daripada Berbilang Baris dalam Oracle SQL?

Bagaimana untuk Menggabungkan Nilai Lajur daripada Berbilang Baris dalam Oracle SQL?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-23 15:01:12955semak imbas

How to Concatenate Column Values from Multiple Rows in 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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn