请高手指点--SQL语句问题
请高手指点--SQL语句问题
有表T如下:
id name
--------------
1 a
1 b
1 c
2 x
2 y
3 z
如何显示成下表样子
1 a,b,c
2 x,y
3 z
*********************************
http://w.leadbbs.com/a/a.asp?B=205&ID=2271437
http://www.hur.cn/bbs/dispbbs.asp?boardID=120&ID=50539&page=1
问题点数:80、回复次数:5Top
1 楼xeqtr1982(Visual C# .NET)回复于 2006-03-08 09:32:28 得分 70
create table tb(ID int,NAME varchar(10))
insert into tb
select 1,'a' union all
select 1,'b' union all
select 1,'c' union all
select 2,'x' union all
select 2,'y' union all
select 3,'z'
go
create function dbo.fc_str(@id varchar(100))
returns varchar(100)
as
begin
declare @sql varchar(1000)
set @sql=''
select @sql=@sql+','+cast(name as varchar(100)) from tb where id=@id
return stuff(@sql,1,1,'')
end
go
select id,dbo.fc_str(id) as name from tb group by idTop
2 楼wgsasd311(自强不息)回复于 2006-03-08 09:36:32 得分 10
--用函数
create function f_str(@id int)
returns varchar(4000)
as
begin
declare @re varchar(4000)
set @re=''
select @re=@re+','+name from tb where id=@id
return stuff(@re,1,1,'')
end
go
select id,max(dbo.f_str(id)) from tb group idTop
3 楼lsqkeke(可可)回复于 2006-03-08 09:38:12 得分 0
同意 wgsasd311(自强不息)Top
4 楼mislrb(上班看看早报,上上CSDN,下班看看电影)回复于 2006-03-08 09:43:47 得分 0
一楼正解Top
5 楼fjbwfw(bwfw)回复于 2006-03-08 14:00:22 得分 0
多谢各位高人.Top




