Возможно, с этим можно что-то сделать.
select T2.X.query('for $i in *
return concat(data($i), ",")'
).value('.', 'nvarchar(max)') as C
from (
select *
from YourTable
for xml path('Row'),elements xsinil, type
) as T1(X)
cross apply T1.X.nodes('/Row') T2(X)
Это даст вам одну строку для каждой строки в YourTable
с каждым значением в YourTable
, разделенным запятой в столбце C
.
Это создает XML для всей таблицы, а затем анализирует этот XML. Возможно, у вас возникнут проблемы, если у вас есть таблицы с большим количеством строк.
Кстати: я заметил из комментария, что вы можете "использовать только чистый SQL". Я действительно не думаю, что это квалифицируется как «чистый SQL»:).