【发布时间】:2010-01-08 05:52:53
【问题描述】:
如何在 MSSQL 2005 中使用 OPENXML 获得具有相同列名的第二列?
这是我计划得到的结果集。
columnData1 columnData2
甲乙
C D
英法
DECLARE @hDoc int, @xmldata varchar(max)
SELECT @xmldata =
'<?xml version="1.0" encoding="utf-8" ?>
<reportResponse>
<reportDataRow rowNum="1">
<columnData colNum="1">
<data>A</data>
</columnData>
<columnData colNum="2">
<data>B</data>
</columnData>
</reportDataRow>
<reportDataRow rowNum="2">
<columnData colNum="1">
<data>C</data>
</columnData>
<columnData colNum="2">
<data>D</data>
</columnData>
</reportDataRow>
<reportDataRow rowNum="3">
<columnData colNum="1">
<data>E</data>
</columnData>
<columnData colNum="2">
<data>F</data>
</columnData>
</reportDataRow>
</reportResponse>'
EXEC sp_xml_preparedocument @hDoc OUTPUT, @xmldata
SELECT *
FROM OPENXML(@hDoc, '/reportResponse/reportDataRow',2)
WITH (columnData varchar(50) , columnData2 varchar(50) )
SELECT *
FROM OPENXML(@hDoc, '/reportResponse/reportDataRow/columnData',2)
WITH (data varchar(50))
EXEC sp_xml_removedocument @hDoc
【问题讨论】:
标签: sql-server xml paypal pivot openxml