declare @aa as varchar(100)
set @aa = ''
select left(0,len((@aa = @aa + ck_lxmc + '/'),-1)) as b from dbo.t_cklx
说这个语法有问题 请指点!想实现多条记录合并显示
如: ck_lxmc
记录1 a
记录1 b
记录1 c
得到结果: a/b/c
...全文
1905打赏收藏
简单问题
declare @aa as varchar(100) set @aa = '' select left(0,len((@aa = @aa + ck_lxmc + '/'),-1)) as b from dbo.t_cklx 说这个语法有问题 请指点!想实现多条记录合并显示 如: ck_lxmc 记录1 a 记录1 b 记录1 c 得到结果: a/b/c
create table t_cklx
(
记录 varchar(20),
ck_lxmc varchar(10)
)
insert t_cklx
select '记录1','a' union all
select '记录1','b' union all
select '记录1','c'
select * from t_cklx
go
create function Gettxt(@id varchar(20))
returns varchar(8000)
as
begin
declare @s varchar(8000)
set @s=''
select @s=@s+'/'+ck_lxmc from t_cklx where 记录=@id
return @s
end
go
select 记录,dbo.Gettxt(记录) 记录集 from t_cklx group by 记录
写个函数
参考
create table csdn
(
id int,
txt varchar(10)
)
insert csdn
select 1,'a' union all
select 1,'b' union all
select 1,'c' union all
select 2,'aa' union all
select 2,'bb' union all
select 2,'cc' union all
select 3,'aaa' union all
select 3,'bbb'
select * from csdn
go
create function Gettxt(@id int)
returns varchar(8000)
as
begin
declare @s varchar(8000)
set @s=''
select @s=@s+txt from csdn where id=@id
return @s
end
go
select id,dbo.Gettxt(id) txt from csdn group by id