【发布时间】:2015-05-03 15:55:56
【问题描述】:
我正在尝试将以下 XML 转换为表格。
DECLARE @XMLToParse XML;
SET @XMLToParse = '<Employees>
<Senior>
<Emp>
Ravi
</Emp>
<Emp>
Shanker
</Emp>
<Emp>
Aditya
</Emp>
</Senior>
<Junior>
<Emp>
Roy
</Emp>
<Emp>
Sham
</Emp>
<Emp>
Divya
</Emp>
</Junior>
</Employees>';
DECLARE @ParsingTable TABLE
(Senior VARCHAR(100),Junior VARCHAR(100))
INSERT
INTO @ParsingTable
(Senior)
SELECT xmlData.A.value('.', 'VARCHAR(100)') AS Senior
FROM @XMLToParse.nodes('Employees/Senior/Emp') as xmlData(A)
select * from @ParsingTable
我正在尝试创建如下所示的表格:
Senior Junior
-----------------
Ravi Roy
Shanker Sham
Aditya Divya
上面的代码给了我第一列,但我不知道如何插入第二列。
【问题讨论】:
-
您有问题。当初级员工和高级员工的数量不同时会发生什么。该表应该是两列:等级(初级或高级),员工姓名。
-
@jdweng 这只是一个示例 xml。假设相同的编号。初级和高级 emp :)
-
你不能做你想做的,因为你需要连接两个对象,并且没有唯一的方法来执行连接。
标签: sql asp.net sql-server stored-procedures