-
StackOverflow 文档
-
SQL 教程
-
XML
-
从 XML 数据类型查询
DECLARE @xmlIN XML = '<TableData>
<aaa Main="First">
<row name="a" value="1" />
<row name="b" value="2" />
<row name="c" value="3" />
</aaa>
<aaa Main="Second">
<row name="a" value="3" />
<row name="b" value="4" />
<row name="c" value="5" />
</aaa>
<aaa Main="Third">
<row name="a" value="10" />
<row name="b" value="20" />
<row name="c" value="30" />
</aaa>
</TableData>'
SELECT t.col.value('../@Main', 'varchar(10)') [Header],
t.col.value('@name', 'VARCHAR(25)') [name],
t.col.value('@value', 'VARCHAR(25)') [Value]
FROM @xmlIn.nodes('//TableData/aaa/row') AS t (col)
结果
Header name Value
First a 1
First b 2
First c 3
Second a 3
Second b 4
Second c 5
Third a 10
Third b 20
Third c 30