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

Откуда: Новосибирск
Сообщений: 97
Microsoft SQL Server 2005 - 9.00.4207.00 (X64) Dec 17 2008 14:30:05 Copyright (c) 1988-2005 Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 5.2 (Build 3790: Service Pack 2)

declare @Test table (ID int)
insert into @Test values (1)
insert into @Test values (2)

select '123' [@value],(
select
ID
from @Test
for XML PATH(''), type
) as [z]
for xml path('priority'), type

получается на выходе
<priority value="123">
  <z>
    <ID>1</ID>
    <ID>2</ID>
  </z>
</priority>

а хочется чтобы было

<priority value="123">
  <ID>1</ID>
  <ID>2</ID>
</priority>

что надо поправить в запросе? что-то рядом лежит а всё не вижу :(
9 июл 09, 14:31    [7396883]     Ответить | Цитировать Сообщить модератору
 Re: создание XML запроса..  [new]
sfans1
Guest
declare @Test table (ID int)
insert into @Test values (1)
insert into @Test values (2)

select '123' [@value],(
select
ID
from @Test
for XML PATH(''), type
) as [*]
for xml path('priority'), type
9 июл 09, 14:36    [7396948]     Ответить | Цитировать Сообщить модератору
 Re: создание XML запроса..  [new]
cherox
Member

Откуда: Новосибирск
Сообщений: 97
спасибо..

сплошное шаманство с этими точками/звездочками при запросах XML :)
9 июл 09, 14:48    [7397081]     Ответить | Цитировать Сообщить модератору
 Re: создание XML запроса..  [new]
Ennor Tiegael
Member

Откуда:
Сообщений: 3197
Можно еще вот так:
select '123' as [priority/@value],
	(
		select ID from @Test for xml path(''), type
	) as [priority]
for xml path(''), type;
Без звездочек, так сказать :)
9 июл 09, 15:52    [7397648]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить