У меня есть только экспресс-версии MS SQL Server 2008 и Visual Studio. Учитывая, что я не могу создать проект SQL Server и, следовательно, о решениях CLR не может быть и речи, я попытался использовать
select col1, stuff( ( select ' ' + col2
from StrConcat t1
where t2.col1 = t1.col1
for xml path('')
),1,1,'')
from StrConcat t2
group by col1
order by col1
, чтобы получить объединенную строку col2. col2 - это поле varchar с некоторыми управляющими символами, такими как & и \ n . Когда он объединяется с вышеуказанным SQL, он, кажется, экранирует эти управляющие символы, т.е. & становится
& amp; и \ n становится & # xOD, а это не то, чего я хочу. Учитывая, что поле col1 и сцепленное поле будет использоваться для обновления другой таблицы, каков наилучший способ получить объединенное поле в его исходном виде без экранирования или нет и единственный способ - прибегнуть к внешнему коду?
Схема таблицы выглядит следующим образом:
StrConcat (первичный ключ id int, col1 int, txt varchar (80))
У col1 есть индекс, txt должен быть сгруппирован по col1, упорядочен по id внутри группы.