Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menggabungkan Label Berdasarkan ID Respons Menggunakan SQL?

Bagaimana untuk Menggabungkan Label Berdasarkan ID Respons Menggunakan SQL?

Linda Hamilton
Lepaskan: 2024-12-31 21:36:11
asal
291 orang telah melayarinya

How to Concatenate Labels Based on Response ID Using SQL?

Menggabungkan Nilai Berdasarkan ID: Penyelesaian Menggunakan SQL

Apabila bekerja dengan data, keperluan untuk menggabungkan nilai berdasarkan ID kongsi sering timbul . Dalam senario ini, kami menghadapi jadual dengan senarai ID Respons dan Label yang berkaitan. Matlamat kami adalah untuk mengubah data ini kepada format yang mana setiap baris memaparkan ID Respons dan senarai Label yang dipisahkan koma.

Untuk mencapai matlamat ini, kami boleh memanfaatkan keupayaan pengumpulan dan penyatuan SQL. Kita mulakan dengan mengisytiharkan jadual sementara yang dipanggil @T dan mengisinya dengan data sampel. Pertanyaan di bawah menggariskan langkah-langkah yang terlibat:

select T1.Response_ID,
       stuff((select ','+T2.Label
              from @T as T2
              where T1.Response_ID = T2.Response_ID
              for xml path(''), type).value('.', 'varchar(max)'), 1, 1, '') as Label
from @T as T1
group by T1.Response_ID
Salin selepas log masuk
  1. Pengumpulan: Kami mengumpulkan data mengikut Response_ID menggunakan kumpulan mengikut klausa T1.Response_ID. Langkah ini memastikan bahawa kami beroperasi pada satu set Label untuk setiap ID Respons.
  2. Subquery: Dalam setiap kumpulan, kami menggunakan subquery untuk mendapatkan semula Label yang dikaitkan dengan ID Respons tersebut. Subkueri mendapatkan semula nilai Label dan menggabungkannya menjadi satu rentetan yang dipisahkan dengan koma. Bahagian .value('.', 'varchar(max)') mengendalikan kes di mana Label mengandungi aksara tidak mesra XML.
  3. Concatenation: Fungsi stuff() digunakan untuk menggabungkan Label dipisahkan koma ke dalam satu rentetan. Ia mengalih keluar koma di hadapan dengan menyatakan 1, 1, '' sebagai argumen penyingkiran.
  4. Unjuran: Akhir sekali, penyataan pilih menayangkan Response_ID dan lajur Label bercantum sebagai output yang diingini.

Dengan melaksanakan pertanyaan ini, kami memperoleh data yang diubah dengan setiap baris mewakili ID Respons dengan Label yang berkaitan digabungkan dan dipisahkan dengan koma. Penyelesaian ini menyediakan cara yang cekap untuk mengagregat dan mempersembahkan data berdasarkan pengecam yang dikongsi.

Atas ialah kandungan terperinci Bagaimana untuk Menggabungkan Label Berdasarkan ID Respons Menggunakan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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