2016-03-23 36 views
0

有谁知道我怎么能分配多个记录从选择到一个参数在sql中?例如:如何分配多个记录从一个选择到一个参数在sql

我有以下的select语句:

SELECT '|'+id+':'+rep 
FROM dbo.reps 

它会返回以下结果:

|1:tom 
|2:amy 
|3:ben 
|4:ken 

我如何分配这些值转换为参数@rep,当我选择@ REPT,它将显示:

| 1:汤姆| 2:阿美| 3:本| 4:肯

会有可能吗?

+0

请用你正在使用的数据库标记你的问题。 –

+0

可能的重复http://stackoverflow.com/questions/194852/concatenate-many-rows-into-a-single-text-string – derloopkat

回答

0

一种方法是使用聚合字符串连接(ala XML),但这在SQL Server中很麻烦。另一种是使用递归CTE。

最简单的方法是:

DECLARE @rep varchar(max); 
SET @rep = ''; 

SELECT @rep = (@rep + '|'+id+':'+rep0 
FROM dbo.reps; 

我不知道这是否是保证得到支持(我还没有看到文件明确地说是或否在此),但它一般不在SQL Server中工作。

相关问题