10

次の出力のエイリアスを作成したいと思います。

-- 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')

したがって、XML_GUIDの列ヘッダーではなく、引数として「Test」というエイリアスを付けたいと思います。わからないようです。誰もが方法を知っていますか?http://social.msdn.microsoft.com/Forums/nl/sqlxml/thread/1605c722-6388-40ff-9ab5-a3817a1db81fの例に従ってみましたが、返されません。私はいつも、列1の名前がないというエラーに遭遇します。

助けていただければ幸いです。

ありがとう、

サイモン

4

1 に答える 1

16

サブクエリにします。

select (
SELECT 
    Names
FROM 
    @Test t 
FOR XML PATH ('Test'),TYPE) as Test

サブクエリは値を生成しますが、列の名前を提供することはありません。また,TYPE、それ以外の場合は結果に変換を強制するため、指定しvarchar(max)ましたが、おそらくそれをとして保持する必要がありますxml

于 2013-01-17T13:16:03.533 に答える