Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
Сергей Артемьев Member Откуда: Сообщений: 11 |
Добрый день. Подскажите, каким образом можно выгрузить в xml данные из нескольких таблиц в следующем виде: <root> <table_1> <record_1> <...>...<...> </record_1> </table_1> <table_2> <record_1> <...>...<...> </record_1> </table_2> </root> Т.е. как вписать данные в документ из table_2, table_3 и т.д. в эту структуру? |
14 мар 14, 12:00 [15722798] Ответить | Цитировать Сообщить модератору |
Ken@t Member Откуда: 大地 Сообщений: 3264 |
Сергей Артемьев, FOR XML |
14 мар 14, 12:06 [15722833] Ответить | Цитировать Сообщить модератору |
Сергей Артемьев Member Откуда: Сообщений: 11 |
Ken@t, Я понимаю, что из одной таблицы можно выгрузить так: USE database SELECT dbo.CURRENCY.RECID AS [@RecId], dbo.CURRENCY.CURRENCYCODE AS [CurCode], dbo.CURRENCY.TXT AS [Txt] FROM dbo.CURRENCY FOR XML PATH('Currency'), TYPE, ROOT('Data'), ELEMENTS XSINIL А как после выгрузки из этой таблицы приписать данные из другой в этот же корень (вроде объединения в один корень)? |
14 мар 14, 12:29 [15723026] Ответить | Цитировать Сообщить модератору |
Ken@t Member Откуда: 大地 Сообщений: 3264 |
Сергей Артемьев,declare @t table ( i int ,c int ) declare @t2 table ( i int ,c int ) insert @t (i,c) values (1,1) insert @t (i,c) values (1,2) insert @t (i,c) values (2,1) insert @t (i,c) values (2,2) SELECT CONVERT( XML, REPLACE( N'<root>@ITEMS</root> ',N'@ITEMS', ( SELECT i ,c FROM @t T1 FOR XML PATH('record'), root ('table1') ) +( SELECT i as [@i] ,c as [@c] FROM @t T2 FOR XML PATH('record'), root ('table1') ) ) ) что -то типа |
14 мар 14, 12:52 [15723229] Ответить | Цитировать Сообщить модератору |
Сергей Артемьев Member Откуда: Сообщений: 11 |
Ken@t, Спасибо огромное. То что нужно. |
14 мар 14, 13:14 [15723415] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |