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

Откуда:
Сообщений: 98
Здравствуйте,
посоветуйте, как сделать запрос:

есть исходный запрос
SELECT Tag
	  ,Parent
	  ,value = CAST(value AS XML)
FROM T
ORDER BY Tag, Parent


поле value выдает в записях:
+
  <ContentRow RowFieldName="d" RowFieldValue="11" RowId="11" PRowId="0"><RowParameters Description="Д" /></ContentRow>
  <ContentRow RowFieldName="s"  RowFieldValue="17" RowId="13" PRowId="0"><RowParameters Description="С" /></ContentRow>
  <ContentRow RowFieldName="fs" RowFieldValue="8" RowId="18" PRowId="13"><RowParameters Description="У" /></ContentRow>



,объединяю(путем склеивания строк) в итоге в блок :
+
<Content>
	<ContentRow RowFieldName="d" RowFieldValue="11" RowId="1" PRowId="0">
		<RowParameters Description="Д" />
	</ContentRow>
	<ContentRow RowFieldName="s"  RowFieldValue="17" RowId="3" PRowId="0">
		<RowParameters Description="С" />
		</ContentRow>
	<ContentRow RowFieldName="fs" RowFieldValue="8" RowId="18" PRowId="3">
		<RowParameters Description="У" />
	</ContentRow>
</Content>


, а требуется ContentRow, PRowId которой равен 13, внести в ветку, где RowId=13, чтобы выглядело:
+
<Content>
	<ContentRow RowFieldName="d" RowFieldValue="11" RowId="1" PRowId="0">
		<RowParameters Description="Д" />
	</ContentRow>
	<ContentRow RowFieldName="s"  RowFieldValue="17" RowId="3" PRowId="0">
		<RowParameters Description="С" />
		<ContentRow RowFieldName="fs" RowFieldValue="8" RowId="18" PRowId="3">
			<RowParameters Description="У" />
		</ContentRow>
	</ContentRow>
</Content>


почитал про for xml explicit, не придумал, как его пристроить. Кол-во таких вложенностей и значение RowId может быть в широком диапазоне. Догадываюсь, что склейка строк здесь не лучший способ
30 мар 16, 10:04    [18994378]     Ответить | Цитировать Сообщить модератору
 Re: Запрос-построение вложенностей в xml  [new]
iljy
Member

Откуда:
Сообщений: 8711
Виктор_sql,

самая первая ссылка
30 мар 16, 10:18    [18994449]     Ответить | Цитировать Сообщить модератору
 Re: Запрос-построение вложенностей в xml  [new]
Glory
Member

Откуда:
Сообщений: 104751
Виктор_sql
а требуется ContentRow, PRowId которой равен 13, внести в ветку, где RowId=13,

Сформируйте правильное символьное значение сразу в поле value
30 мар 16, 10:22    [18994473]     Ответить | Цитировать Сообщить модератору
 Re: Запрос-построение вложенностей в xml  [new]
Виктор_sql
Member

Откуда:
Сообщений: 98
Спасибо за подсказки и ссылки
1 апр 16, 05:33    [19002969]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить