【发布时间】:2017-06-28 20:10:45
【问题描述】:
鉴于此 XML:
DECLARE @input XML = '<Data>
<Tab Name="UserData">
<Row>
<BeneficialOwnerName>Fred Flintstone</BeneficialOwnerName>
<TaxID>111-11-1111</TaxID>
</Row>
<Row>
<BeneficialOwnerName>Barney Rubble</BeneficialOwnerName>
<TaxID>222-22-2222</TaxID>
</Row>
</Tab>
<Tab Name="OtherData">
<Row>
<BeneficialOwnerName>Bugs Bunny</BeneficialOwnerName>
<TaxID>333-33-3333</TaxID>
</Row>
<Row>
<BeneficialOwnerName>Road Runner</BeneficialOwnerName>
<TaxID>444-44-4444</TaxID>
</Row>
</Tab>
</Data>'
我想退货:
Name BeneficialOwnerName TaxID
UserData Fred Flintstone 111-11-1111
UserData Barney Rubble 222-22-2222
OtherData Bugs Bunny 333-33-3333
OtherData Road Runner 444-44-4444
我的 SQL 如下所示:
SELECT
Name = XCol.value('@Name','varchar(25)'),
BeneficialOwnerName = XCol.value('BeneficialOwnerName[1]','varchar(25)'),
TaxID = XCol.value('TaxID[1]','varchar(25)')
FROM
@input.nodes('/Data/Tab/Row') AS XTbl(XCol)
但是根据我如何调整 FROM 子句,我会得到两行选项卡名称或 4 行选项卡名称为 Null 的数据
我需要做什么才能显示数据?
谢谢
卡尔
【问题讨论】:
-
这是一个好问题:copy-n_paste 测试代码,预期输出,自己的努力... +1 从我这边
标签: sql-server xml