У меня есть такой код для объединения значений из нескольких строк
ввод:
ID Name
------------- ----------------------
1 Deepak Kumar Goyal
2 Niladri Biswas
2 Priyanka Sarkar
3 Sumi Girijan
3 Suresh Beldar
3 Jeeva Baby
ожидаемый результат:
ID Name
------- --------------------------------------------------
1 Deepak Kumar Goyal
2 Niladri Biswas OR Priyanka Sarkar
3 Sumi Girijan AND Suresh Beldar AND Jeeva Baby
использованный запрос:
select ID, SUBSTRING(
(
select ','+CAST(name AS VARCHAR)
from @t a where a.ID = b.ID
FOR XML PATH('')
),2,2000) as names
from @t b group by id
Запрос выполняется успешно. Можете ли вы помочь мне понять необходимость XML здесь и как и почему он работает?