VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 694|回复: 2

求一个对字符串汇总的问题

[复制链接]

1

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-2-19 16:00:01 | 显示全部楼层 |阅读模式
表数据如下:
ID       CharCol
1        A
1        B
1        C
2        B
2        D

不用存储过程,用一个语句,能不能把以汇总成:

ID       CharCol_Total
1        A,B,C
2        B,D
回复

使用道具 举报

0

主题

211

帖子

108.00

积分

新手上路

Rank: 1

积分
108.00
发表于 2020-4-26 18:30:01 | 显示全部楼层
create table T(ID int, CharCol char(1))
insert T select 1,        'A'
union all select 1,        'B'
union all select 1,        'C'
union all select 2,        'B'
union all select 2,        'D'

create function fun(@ID int)
returns varchar(100)
as
begin
        declare @re varchar(100)
        set @re=''
        select @re=@re+CharCol+',' from T where ID=@ID
        select @re=left(@re, len(@re)-1)

        return @re
end

select distinct ID, dbo.fun(ID) as CharCol_Total from T
--result
ID          CharCol_Total      
----------- --------------------
1           A,B,C
2           B,D

(2 row(s) affected)
回复

使用道具 举报

0

主题

41

帖子

13.00

积分

新手上路

Rank: 1

积分
13.00
发表于 2020-4-26 20:00:02 | 显示全部楼层
create function f_getstr(@id varchar(64))
RETURNS varchar(8000)
as
begin
declare @s varhcar(8000)
set @s = ''
select @s = @s+','+CharCol from tb where id =@id
return stuff(@s,1,1,'')
end
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表