将行连接到一列 sybase
Concatenate rows to one column sybase
我目前的数据库功能有限。我有一个场景,我需要在 SYBASE
中将行连接到一列
LETTER
A
B
C
D
EXPECTED RESULT
A,B,C,D
你能帮帮我吗?
我用过这个表格...根据您的需要更改!
declare @w_caracter_val varchar(2),
@w_contador smallint,
@w_registros smallint,
@w_caracterFinal varchar(30)
--Crear tabla temporal
create table #sb_caracteres
(se_id int identity,
codigo varchar(10))
--insert a la tabla #
insert into #sb_caracteres
(codigo)
select codigo
from cr_corresp_sib
where tabla = 'T260'
--select * from #sb_caracteres
select @w_registros = (select count(1)from #sb_caracteres)
select @w_contador = 1
select @w_caracterFinal= ''
while @w_contador <= @w_registros
begin
select @w_caracter_val = codigo
from #sb_caracteres
where se_id = @w_contador
print 'codigo %1!, %2!', @w_contador, @w_caracter_val
--select @w_caracterFinal= concat(@w_caracterFinal,@w_caracter_val)
select @w_caracterFinal = ltrim(rtrim(@w_caracterFinal)) + ltrim(rtrim(@w_caracter_val))
select @w_caracterFinal
--print 'registros %1!', @w_caracterFinal
Select @w_contador = @w_contador +1
end
我目前的数据库功能有限。我有一个场景,我需要在 SYBASE
中将行连接到一列LETTER
A
B
C
D
EXPECTED RESULT
A,B,C,D
你能帮帮我吗?
我用过这个表格...根据您的需要更改!
declare @w_caracter_val varchar(2),
@w_contador smallint,
@w_registros smallint,
@w_caracterFinal varchar(30)
--Crear tabla temporal
create table #sb_caracteres
(se_id int identity,
codigo varchar(10))
--insert a la tabla #
insert into #sb_caracteres
(codigo)
select codigo
from cr_corresp_sib
where tabla = 'T260'
--select * from #sb_caracteres
select @w_registros = (select count(1)from #sb_caracteres)
select @w_contador = 1
select @w_caracterFinal= ''
while @w_contador <= @w_registros
begin
select @w_caracter_val = codigo
from #sb_caracteres
where se_id = @w_contador
print 'codigo %1!, %2!', @w_contador, @w_caracter_val
--select @w_caracterFinal= concat(@w_caracterFinal,@w_caracter_val)
select @w_caracterFinal = ltrim(rtrim(@w_caracterFinal)) + ltrim(rtrim(@w_caracter_val))
select @w_caracterFinal
--print 'registros %1!', @w_caracterFinal
Select @w_contador = @w_contador +1
end