Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Menggabungkan Keputusan Pertanyaan SQL dalam Oracle?

Bagaimanakah Saya Boleh Menggabungkan Keputusan Pertanyaan SQL dalam Oracle?

Patricia Arquette
Lepaskan: 2024-12-31 10:20:11
asal
231 orang telah melayarinya

How Can I Concatenate SQL Query Results in Oracle?

Menggabungkan Hasil daripada Pertanyaan SQL dalam Oracle

Untuk menggabungkan hasil daripada pertanyaan SQL dalam Oracle, anda boleh menggunakan fungsi LISTAGG bersama-sama dengan fungsi CONCAT. Pendekatan ini membolehkan anda menggabungkan nilai daripada berbilang baris ke dalam satu rentetan terhad.

Sebagai contoh, pertimbangkan jadual berikut yang mengandungi data tentang nama dan harga:

| NAME | PRICE |
|---|---|
| A | 2 |
| B | 3 |
| C | 5 |
| D | 9 |
| E | 5 |
Salin selepas log masuk

Untuk memaparkan semua nilai dalam satu baris, dipisahkan dengan koma, anda boleh menggunakan pertanyaan berikut:

SELECT
  LISTAGG(CONCAT(CONCAT(NAME, ','), PRICE), '|') WITHIN GROUP (ORDER BY NAME) AS CONCATDATA
FROM
  TABLE_NAME;
Salin selepas log masuk

Begini cara pertanyaan ini berfungsi:

  • Fungsi LISTAGG digunakan untuk mengagregatkan nilai yang digabungkan daripada setiap baris.
  • Fungsi CONCAT menggabungkan nilai NAME dan PRICE ke dalam satu rentetan.
  • '|' hujah dalam LISTAGG menentukan pembatas (dalam kes ini, koma) untuk digunakan antara nilai yang digabungkan.
  • Klausa WITHIN GROUP memastikan bahawa penggabungan dilakukan dalam kumpulan, dalam kes ini, dikumpulkan mengikut NAME.

Output yang terhasil akan menjadi satu baris dengan semua nilai yang digabungkan dipisahkan oleh koma, seperti yang dikehendaki:

CONCATDATA
--------------------
A,2|B,3|C,5|D,9|E,5|
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggabungkan Keputusan Pertanyaan SQL dalam Oracle?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan