Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 MS SQL и XML  [new]
ЮнНатНА
Member

Откуда:
Сообщений: 3
Доброго времени суток всем.

Знающие люди подскажите как сконкатенировать значения XML атрибута в таблице.
Например есть табличка
DECLARE @t TABLE (
xmlXml XML
)

INSERT @t ( xmlXml )
VALUES  ( '<cell id="1" />')
INSERT @t ( xmlXml )
VALUES  ( '<cell id="2" />')
INSERT @t ( xmlXml )
VALUES  ( '<cell id="3" />')
INSERT @t ( xmlXml )
VALUES  ( '<cell id="4" />')


Как написать запрос FOR XML так, чтобы вернуть все строки одной итоговой XML? Возможно ли вообще такое?
<cell id="1" />
<cell id="2" />
<cell id="3" />
<cell id="4" />
21 июн 16, 11:04    [19317888]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL и XML  [new]
AlanDenton
Member [скрыт]

Откуда:
Сообщений: 1004
На скорую руку можно так:

SELECT (
    SELECT xmlXml
    FROM @t
    FOR XML PATH(''), TYPE
).query('//cell')
21 июн 16, 11:11    [19317938]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL и XML  [new]
ЮнНатНА
Member

Откуда:
Сообщений: 3
AlanDenton,

Спасибо, большое все получилось. Забрал пример в копилку.
21 июн 16, 11:26    [19318044]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL и XML  [new]
invm
Member

Откуда: Москва
Сообщений: 9402
select
 xmlXml as [*]
from
 @t t
for xml path(''), type;
21 июн 16, 11:41    [19318120]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL и XML  [new]
ЮнНатНА
Member

Откуда:
Сообщений: 3
invm,

Спасибо, предложенное Вами решение еще лучше. Подозревал, что должно быть нечто такое, но пробовал лишь варианты с "." и "/".
21 июн 16, 16:10    [19319449]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить