1

xml から結果を返すことができる次のクエリがあります。

declare @xml xml

select @xml = data from files where id = 1234

select
    children.p.value('./speed[1]','float')
from @xml.nodes('root/children') as children(p)
where
    children.p.value('./name[1]','nvarchar(max)') = 'something'

私の場合、これは単一の値を返します。たとえば3141

ただし、複数の XML からこのような複数の選択を行いたいと思います。

xmlデータを次のように選択できます

select id, cast(data as xml) as xml
from files
where id in (1005,51,968,991,992,993,969,970) --for example

私の式を適用し、テーブル内の変数ごとに 1 つの項目を返す何らかの種類の JOIN が必要xmlだと思いますが、その方法はわかりません。

4

1 に答える 1