0
数据以提取的实际的XML格式是:SQL XML:组字段元素到一行
<report>
<data>
<row>
<field id="-2">Sterling, Bruce</field>
<field id="18">Austin, TX</field>
<field id="636">123456</field>
</row>
===========
declare @DocHandle int
declare @XMLDoc nvarchar (MAX)
declare @xml XML
SELECT @xml = XMLData FROM CompanyXML
SELECT
Tab.Col.value('.[@id="-2"]', 'varchar(50)') AS FullName,
Tab.Col.value('.[@id="18"]', 'varchar(50)') AS Location,
Tab.Col.value('.[@id="636"]', 'varchar(50)') AS EmployeeNbr
FROM @xml.nodes('report/data/row/field') Tab(Col)
的结果是一行布鲁斯·斯特林的全名与其他列NULL,则另一行的布朗斯维尔,然后另一行的EmployeeNbr 123456
但不是密钥对行的位置,我需要的只是一排人才h相关信息。
即,一行为:FullName,Location和EmployeeNbr。
我试过CROSS APPLY和TOP但没有成功。什么是正确的XQUERY获取该人的一行和相关信息?
谢谢。