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

Откуда: Киев
Сообщений: 77
Помогите плз написать запрос. В результате поле AllPoints должно сожержать все поинты для отдельного Name.

/*Исходная таблица*/
DECLARE  @Data TABLE (id int, NAME varchar(30), [point] int, VALUE float)

INSERT INTO @Data( id, NAME, point, VALUE )
select 1, 'Name1', 0, 4.0  UNION all
select 2, 'Name1', 1, 4.6  UNION ALL
select 3, 'Name2', 0, 3  UNION ALL
select 4, 'Name2', 1, 3.3 
SELECT * FROM @Data


/*Желаемый результат (последнее поле XML)*/
SELECT 'Name1' NAME, '<root><data id=1 point=0 value=4 /><data id=2 point=1 value=4.6 /></root>' AllPoints UNION all
SELECT 'Name2' NAME, '<root><data id=3 point=0 value=3 /><data id=4 point=1 value=3.3 /></root>'


в
19 ноя 12, 16:09    [13495551]     Ответить | Цитировать Сообщить модератору
 Re: Помогите написать запрос с XML  [new]
AnaceH
Member

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

DECLARE  @Data TABLE (id int, NAME varchar(30), [point] int, VALUE float)

INSERT INTO @Data( id, NAME, point, VALUE )
select 1, 'Name1', 0, 4.0  UNION all
select 2, 'Name1', 1, 4.6  UNION ALL
select 3, 'Name2', 0, 3  UNION ALL
select 4, 'Name2', 1, 3.3 
 
select names.name, 
       (select data.id, data.point, cast(VALUE as varchar(100)) as value 
	      from @Data data 
		 where data.NAME = names.NAME 
		   for xml auto, root('root')) 
  from (select distinct Name from @Data ) names
19 ноя 12, 16:41    [13495777]     Ответить | Цитировать Сообщить модератору
 Re: Помогите написать запрос с XML  [new]
ilyaBS
Member

Откуда: Киев
Сообщений: 77
AnaceH,

спасибо!
то что нужно
19 ноя 12, 17:16    [13495992]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить