Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Menggabungkan nilai berdasarkan ID

Anda tidak dapat yakin tentang urutan string yang digabungkan tanpa perintah demi pernyataan di sub kueri. .value('.', 'varchar(max)') bagian yang ada untuk menangani kasus di mana Label berisi tidak ramah XML karakter seperti & .

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')

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Batasan tabel silang MS SQL Server

  2. T-SQL:Menghapus semua baris duplikat tetapi menyimpannya

  3. SQL Server BEBERAPA Operator Dijelaskan

  4. SQL Server, ubah instance bernama ke instance default?

  5. Bagaimana cara memilih hanya baris pertama untuk setiap nilai unik kolom?