【发布时间】:2010-12-10 16:32:52
【问题描述】:
我正在使用子查询来获取所需的结果(返回多个记录),并且我想将这些结果放在返回的单个记录中。
当我单独运行子查询时,它可以工作,但是一旦我将它用作子查询,由于语法错误,它不再工作。
以下代码导致语法错误
('=' 附近的语法不正确。)
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
返回“看门人”
所以我想说
看门人 |查理约翰雅各布
2 个字段,1 条记录。
【问题讨论】:
-
你想做什么,用简单的英语?
-
您是在尝试将行转换为列,还是在 firstName 中添加空格
-
看起来像是试图将所有名字连接到一个结果集中......但是为什么呢?如果可行,这将创建各种名字金字塔。这里的意图非常值得怀疑。
标签: sql sql-server tsql