Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menggabungkan Berbilang Nilai SQL Berdasarkan Pengecam Biasa?

Bagaimana untuk Menggabungkan Berbilang Nilai SQL Berdasarkan Pengecam Biasa?

DDD
Lepaskan: 2024-12-30 22:21:10
asal
160 orang telah melayarinya

How to Concatenate Multiple SQL Values Based on a Common Identifier?

Sambungkan Berbilang Nilai Berdasarkan Pengecam Biasa Menggunakan SQL

Andaikan anda mempunyai jadual dengan dua lajur: Response_ID dan Label, di mana berbilang Label nilai boleh dikaitkan dengan setiap Response_ID. Anda mungkin menghadapi keperluan untuk menggabungkan semua nilai Label untuk setiap Response_ID yang unik.

Ini boleh dicapai menggunakan pernyataan SQL berikut:

-- Sample data
declare @T table(Response_ID int, Label varchar(50))
insert into @T values
(12147,          'It was not clear'),
(12458,          'Did not Undersstand'),
(12458,          'Was not resolved'),
(12458,          'Did not communicate'),
(12586,          'Spoke too fast'),
(12587,          'Too slow')

-- Query to concatenate Label values
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

Penjelasan:

  • Subquery (pilih ',' T2.Label ...) menggabungkan nilai Label untuk setiap Response_ID ke dalam satu rentetan, dipisahkan dengan koma. Klausa untuk laluan xml(''), jenis menukar rentetan bercantum kepada serpihan XML.
  • Bahagian .value('.', 'varchar(max)') mengendalikan kes di mana Label mengandungi aksara yang boleh menyebabkan ralat penghuraian XML, seperti &.
  • Fungsi stuff(...) mengalih keluar koma di hadapan daripada yang digabungkan rentetan.
  • Akhir sekali, kumpulan mengikut klausa mengagregatkan nilai Label yang digabungkan untuk setiap Response_ID yang unik.

Hasilnya ialah jadual dengan satu baris setiap Response_ID dan nilai Label yang digabungkan dipisahkan dengan koma.

Atas ialah kandungan terperinci Bagaimana untuk Menggabungkan Berbilang Nilai SQL Berdasarkan Pengecam Biasa?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan