在SQL Server 2005中,要使用for xml将列值用作xml元素名称,可以使用动态SQL和查询结果中的列值来实现。以下是一个示例:
CREATE TABLE SampleTable (
Id INT PRIMARY KEY,
Name NVARCHAR(50),
Value INT
)
INSERT INTO SampleTable (Id, Name, Value)
VALUES (1, 'Value1', 100), (2, 'Value2', 200), (3, 'Value3', 300)
DECLARE @query NVARCHAR(MAX)
SELECT @query = COALESCE(@query + ' UNION ALL ', '') + '
SELECT ''' + Name + ''' AS [Name], Value AS [Value]
FROM SampleTable
WHERE Name = ''' + Name + '''
FOR XML PATH(''' + Name + ''')'
FROM SampleTable
GROUP BY Name
EXEC sp_executesql @query
这个查询将会返回以下XML结果:
<Name>Value1</Name>
<Value>100</Value>
</Value1><Value2>
<Name>Value2</Name>
<Value>200</Value>
</Value2><Value3>
<Name>Value3</Name>
<Value>300</Value>
</Value3>
这样,列值就被用作了XML元素名称。
推荐的腾讯云相关产品:
产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云