sql 字段相同合并字段拼接
要把这种qcc字段相同的合并,查询结果类似这样的格式zccqcc26012700002604412602/2603250000260205...................
要把这种qcc字段相同的合并,查询结果类似这样的格式
zcc qcc
2601 270000260441
2602/2603 250000260205
....... ................... 展开
zcc qcc
2601 270000260441
2602/2603 250000260205
....... ................... 展开
展开全部
会出现3条及以上的相同的记录么?
如果只有两条一样的。
select case when t2.zcc is not null
then t1.zcc || '/' || t2.zcc
else t1.zcc
end as zcc,
t1.qcc
from tb t1
left join tb t2
on t1.qcc=t2.qcc
and t1.rowid<>t2.rowid
如果只有两条一样的。
select case when t2.zcc is not null
then t1.zcc || '/' || t2.zcc
else t1.zcc
end as zcc,
t1.qcc
from tb t1
left join tb t2
on t1.qcc=t2.qcc
and t1.rowid<>t2.rowid
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
--1.创建函数
create function func_a(@qcc varchar(50))
returns nvarchar(200)
as
begin
declare @str nvarchar(200)
set @str= ' '
select @str=@str+rtrim(zcc)+'/' from table_1 where qcc=@qcc
set @str=left(@str,len(@str)-1)
return @str
end
--测试
select distinct func_a(qcc) as zcc,qcc from table_1
--2.虚表
select zcc,qcc into #temp1 from table_1 order by qcc
declare @zcc varchar(100),@qcc varchar(10)
update #temp1 set @zcc=case when @qcc=qcc then @zcc+'/'+zcc else zcc END,
@qcc=qcc,
zcc=@zcc
select zcc=max(zcc),qcc from #temp1 group by qcc
drop table #temp1
--可以任选一种,把table_1换成你自己的表即可,希望能帮助到你!
create function func_a(@qcc varchar(50))
returns nvarchar(200)
as
begin
declare @str nvarchar(200)
set @str= ' '
select @str=@str+rtrim(zcc)+'/' from table_1 where qcc=@qcc
set @str=left(@str,len(@str)-1)
return @str
end
--测试
select distinct func_a(qcc) as zcc,qcc from table_1
--2.虚表
select zcc,qcc into #temp1 from table_1 order by qcc
declare @zcc varchar(100),@qcc varchar(10)
update #temp1 set @zcc=case when @qcc=qcc then @zcc+'/'+zcc else zcc END,
@qcc=qcc,
zcc=@zcc
select zcc=max(zcc),qcc from #temp1 group by qcc
drop table #temp1
--可以任选一种,把table_1换成你自己的表即可,希望能帮助到你!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-01-04
展开全部
看你这个图片, 软件估计是 PL/SQL Develper 数据库应该是 Oracle
尝试
SELECT
WMSYS.WM_CONCAT( zcc ) AS zcc,
qcc
FROM
表
GOUP BY
qcc
执行一下看看。
如果能够获得
zcc qcc
2601 270000260441
2602,2603 250000260205
这样的结果的话。
就再下面这种方式处理
SELECT
REPLACE ( WMSYS.WM_CONCAT( zcc ), ',', '/' ) AS zcc,
qcc
FROM
表
GOUP BY
qcc
测试一下看看。
尝试
SELECT
WMSYS.WM_CONCAT( zcc ) AS zcc,
qcc
FROM
表
GOUP BY
qcc
执行一下看看。
如果能够获得
zcc qcc
2601 270000260441
2602,2603 250000260205
这样的结果的话。
就再下面这种方式处理
SELECT
REPLACE ( WMSYS.WM_CONCAT( zcc ), ',', '/' ) AS zcc,
qcc
FROM
表
GOUP BY
qcc
测试一下看看。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询