我使用子查询来获取需要的结果(返回多个记录),并且我想将这些结果放入返回的单个记录中。T-SQL,在子查询中选择@variable导致语法错误
当我自己运行子查询时,它可以工作,但是一旦我将它用作子查询,由于语法错误,它不再起作用。
以下代码导致语法错误
(附近有语法错误 '=')
declare @test varchar(1000)
set @test = ''
SELECT description, (SELECT @test = @test + FirstName
FROM EMP_tblEmployee
)select @test
FROM EMP_tblCrew
所以基本上,子查询
(SELECT @test = @test + FirstName
FROM EMP_tblEmployee
)select @test
返回“ charliejohnjacob“
主查询
SELECT description FROM EMP_tblCrew
返回 “看门人”
所以我想它说
看门| charliejohnjacob
2字段,1条记录。
你想用纯英语做什么? – 2010-12-10 16:36:45
你想将行转换为列,或者向firstName的空格添加空格 – StingyJack 2010-12-10 16:40:45
看起来像试图将所有名字连接到结果集中......但是为什么?如果它能起作用,它将创建各种各样的名字金字塔。这里的意图是非常有问题的。 – 2010-12-10 16:43:25