别名FOR XML PATH结果

Sim*_*rne 9 sql t-sql sql-server

我想为以下输出添加别名:

-- Test table with some rubbish data
DECLARE @Test TABLE
(
    Names [varchar](20)
)
INSERT INTO @Test
SELECT 'Simon'

-- Query returns but with XML_<GUID> alias
SELECT 
    Names
FROM 
    @Test t 
FOR XML PATH ('Test')
Run Code Online (Sandbox Code Playgroud)

因此,为了参数,我想给它一个别名为'Test'的字段而不是XML_GUID的列标题.我似乎无法得到它.谁知道怎么样?我尝试从这里跟随一个例子:http://social.msdn.microsoft.com/Forums/nl/sqlxml/thread/1605c722-6388-40ff-9ab5-a3817a1db81f,但我似乎无法让它返回.我总是遇到错误,说第1列没有名字.

任何帮助赞赏.

谢谢,

西蒙

Dam*_*ver 15

使它成为子查询:

select (
SELECT 
    Names
FROM 
    @Test t 
FOR XML PATH ('Test'),TYPE) as Test
Run Code Online (Sandbox Code Playgroud)

子查询生成值但从不为列提供名称.我也指定了,TYPE,否则它强制转换为varchar(max)结果,而你可能想要保持它xml.