8

我想将 XML Path 的输出存储在一个变量中。然而这不起作用:

Declare @Tab    dbo.SingleColumnTable

Insert INTO @Tab

Values(
    'Jack'
)

Insert INTO @Tab

Values(
    'Armageddon'
)

Declare @RetVal varchar(8000) = ''

Select Top 1 @RetVal = Data
From
(
    Select ';' + ' ' + Name as 'Data'
               From @Tab t2
               for xml path('')
) v  

如您所见,我正在尝试将返回的输出的列名设置为 Data 但它不起作用。我收到错误Invalid column name 'Data'.

4

1 回答 1

15

尝试改变

Select Top 1 @RetVal = Data 
From 
( 
    Select ';' + ' ' + Name as 'Data' 
               From @Tab t2 
               for xml path('') 
) v

Select @RetVal = 
( 
    Select ';' + ' ' + Name as Data
   From @Tab t2 
   for xml path('') 
)

SQL 小提琴演示

于 2012-10-02T04:37:13.003 回答