Задать вопрос
@RusCosinus

Как создать XML определенного формата из таблицы с помощью FOR XML PATH?

Код создания таблиц для тестов:
if object_id('dbo.TestAutoInfo', 'U') is not null
    drop table dbo.TestAutoInfo;
go

create table dbo.TestAutoInfo
(
	CityID int
   ,CarBrand varchar(20)
   ,CarModel varchar(20)
   ,CarBodyType varchar(20)
   ,CarYear smallint
   ,CarColor varchar(20)
)
go

insert into dbo.TestAutoInfo 
(
	CityID
   ,CarBrand
   ,CarModel
   ,CarBodyType
   ,CarYear
   ,CarColor
)
values
(1283,'Toyota','Corolla','Sedan',2013,'White')
,(1283,'Toyota','Rav4','SUV',2021,'Black')
,(1283,'Ford','Mustang','Coupe',2024,'Red')
go

select CityID
   ,CarBrand
   ,CarModel
   ,CarBodyType
   ,CarYear
   ,CarColor
from TestAutoInfo


Примечание к данным - CityID всегда одно и тоже в рамках этого блока
Что я хочу получить из этих данных:
В идеале вот такое
<data>
	<field name="CityID">1283</field>
</data>	
<data>
	<field name="CarBrand">Toyota</field>
	<field name="CarModel">Corolla</field>
	<field name="CarBodyType">Sedan</field>
	<field name="CarYear">2013</field>
	<field name="CarColor">White</field>
</data>
<data>
	<field name="CarBrand">Toyota</field>
	<field name="CarModel">Rav4</field>
	<field name="CarBodyType">SUV</field>
	<field name="CarYear">2021</field>
	<field name="CarColor">Black</field>
</data>
<data>
	<field name="CarBrand">Ford</field>
	<field name="CarModel">Mustang</field>
	<field name="CarBodyType">Coupe</field>
	<field name="CarYear">2024</field>
	<field name="CarColor">Red</field>
</data>


Но если не такое, то хотя бы вот такое
<data>
  <field name="CityID">1283</field>
  <field name="CarBrand">Toyota</field>
  <field name="CarModel">Corolla</field>
  <field name="CarBodyType">Sedan</field>
  <field name="CarYear">2013</field>
  <field name="CarColor">White</field>
</data>
<data>
  <field name="CityID">1283</field>	
  <field name="CarBrand">Toyota</field>
  <field name="CarModel">Rav4</field>
  <field name="CarBodyType">SUV</field>
  <field name="CarYear">2021</field>
  <field name="CarColor">Black</field>
</data>
<data>
  <field name="CityID">1283</field>
  <field name="CarBrand">Ford</field>
  <field name="CarModel">Mustang</field>
  <field name="CarBodyType">Coupe</field>
  <field name="CarYear">2024</field>
  <field name="CarColor">Red</field>
</data>


Пробовал но никак не выходит.
  • Вопрос задан
  • 62 просмотра
Подписаться 1 Простой 4 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы