SQL2000中,如何将多条记录的值放入一条记录中?
Table1
班级 姓名
1 张三
1 李四
2 小明
2 小强
2 小李
想要的结果
班级 姓名
1 张三,李四
2 小明,小强,小李
------最佳解决方案--------------------
CREATE TABLE Table1(班级 int , 姓名 VARCHAR(20))
INSERT INTO Table1 SELECT 1,'张三'
UNION SELECT 1 ,'李四'
UNION SELECT 2 ,'小明'
UNION SELECT 2 ,'小强'
UNION SELECT 2 ,'小李'
go
CREATE function getStr(@class int)
returns varchar(100)
as
begin
declare @a varchar(1000)
select @a=isnull(@a+',','')+姓名 from Table1 where 班级=@class
return @a
END
go
SELECT 班级,dbo.getStr(班级) 姓名
from table1
GROUP BY 班级
--result
/*班级 姓名
----------- ----------------
1 李四,张三
2 小李,小明,小强
(所影响的行数为 2 行)
*/