2つの列を持つ一時テーブル#xmlがあります。
CREATE TABLE #xml
(
id int,
xmlroutes xml
)
INSERT INTO #xml (id, xmlroutes)
(SELECT TOP 50 Id, CAST(RouteParameters as xml) as xmlroutes FROM LoggingRecords WHERE RouteParameters IS NOT NULL)
idを選択し、xmlを次のスクリプトとペアにします。
(SELECT id, T2.Loc.query('.') as pair
FROM #xml
CROSS APPLY xmlroutes.nodes('/route/pair') as T2(Loc))
LoggingRecordsには、xmlにキャスト可能な文字列(nvarchar)が含まれています。
すべてのレコードの次のxml構造があります:
<route>
<pair key="x" value="y"/>
<pair key="z" value="1"/>
<pair key="a" value="b"/>
</route>
#xmlテーブルの各レコードから次のデータを選択したい(各IDは多くのペアに関連付けることができます):
- Id
- 鍵
- 価値
これどうやってするの?