【发布时间】:2017-06-12 03:58:28
【问题描述】:
这个问题的出发点是Control on XML elements nesting using FOR XML
我希望输出改变
<security AccessLevel="5" />
到
<security>5<security/>
基本上不是将AccessLevel 显示为属性,我希望它的值成为元素security 的值。
如何达到这样的效果。
为了清楚起见,我在此处复制链接帖子中的示例:
DECLARE @Employees table(
EmpID int NOT NULL,
Name nvarchar(50),
Surname nvarchar(50),
DateOfBirth date,
DepartmentID int,
AccessLevel int);
insert into @Employees values ('1', 'John','Doe','1980-01-31',100,5)
insert into @Employees values ('2', 'Mary','Rose','1971-02-27',102,3)
insert into @Employees values ('3', 'Luke','Perry','1995-12-01',104,1)
select
employee.Name,
employee.Surname,
employee.DateOfBirth,
department.DepartmentID,
security.AccessLevel -- THIS IS THE INVOLVED FIELD
from @Employees employee
join @Employees department on department.DepartmentID = employee.DepartmentID
join @Employees security on security.AccessLevel = employee.AccessLevel
for xml auto
【问题讨论】:
标签: sql-server sql-server-2008-r2 for-xml