【发布时间】:2012-06-15 11:40:40
【问题描述】:
我有 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可以关联很多对):
- 身份证
- 键
- 价值
我该怎么做?
【问题讨论】:
标签: sql-server xml tsql xpath xquery-sql