1
DECLARE @Data AS XML = '
<Catalog>
<Artist>
<name>Wolfgang</name>
<name>Razorback</name>
</Artist>
<Album>
<Category>Rock</Category>
<Category>Alternative</Category>
</Album>
</Catalog>'
SELECT
B.value('(text())[1]','varchar(15)') as Artist,
C.value('(text())[1]','varchar(15)') as Album
FROM @Data.nodes('/Catalog') AS Catalog(A)
CROSS APPLY A.nodes('Artist/name') as Artist(B)
CROSS APPLY A.nodes('Album/Category') as Album(C)
Я ожидал, что результат должен быть, как это, я действительно просто хотел сделать артиста в качестве первого Colum и альбома в качестве второго столбцаФорматирование XML в операторе отбора
но он вернулся этот запрос,
Поскольку, в общем, нет никакой гарантии, что количество элементов '' и количество элементов '' совпадают, было бы замечательно, если бы он решил соединить их вместе. –