多行合并2列并去掉重复列

简介:
-- 多行合并2列并去掉重复列:  

create   table  tb 
(col1 
varchar ( 10 ), 
col2 
varchar ( 10 ), 
col3 
varchar ( 10 ), 
col4 
varchar ( 10 )) 
go  

insert  tb  select   ' 11111 '  ,    ' 222 '  ,       ' A '   ,     1   
insert  tb  select   ' 1111 '  ,    ' 333 '  ,        ' A '  ,      1   
insert  tb  select   ' 2222 '  ,    ' 999 '  ,        ' B '  ,      2   
insert  tb  select   ' 3333 '   ,   ' 111 '  ,        ' B '  ,      2   

go  
create   FUNCTION  dbo.f_str( @col3   varchar ( 10 )) 
RETURNS   varchar ( 8000
AS  
BEGIN  
declare   @str   varchar ( 8000
set   @str = ''  
select    @str = @str +  
case   
when   charindex ( ' , ' + col1 + ' - ' , ' , ' + @str + ' - ' ) = 0    then  col1 + ' - '  
else   ''   
end +  
case   
when   charindex ( ' - ' + col2 + ' , ' , ' - ' + @str + ' , ' ) = 0    then  col2 + ' , '   
else   ''   
end  
from  tb  
where  col3 = @col3  
return   
left ( @str , len ( @str ) - 1
END  
go  
select   distinct  newcol = dbo.f_str(col3),col3,col4   from  tb  

drop   table  tb 
drop   function  f_str 

/*  
newcol                      col3  col4 
-------------------------------------- 
11111-222,1111-333   A       1 
2222-999,3333-111    B        2 

*/ 


    本文转自曾祥展博客园博客,原文链接:http://www.cnblogs.com/zengxiangzhan/archive/2010/01/03/1638173.html,如需转载请自行联系原作者


相关文章
|
移动开发 前端开发 数据安全/隐私保护
iOS代码混淆-从入门到放弃
iOS代码混淆-从入门到放弃
131 0
|
9月前
|
存储 安全 Java
JVM加载过程
JVM类加载过程是Java开发中的关键环节,主要包括五个阶段:加载、验证、准备、解析和初始化。加载阶段获取类的二进制字节流;验证确保字节码符合规范;准备为静态变量分配内存并默认初始化;解析将符号引用转为直接引用;初始化执行静态变量赋值和静态代码块。了解这一过程有助于深入理解Java程序运行机制,提升编程水平。
|
11月前
|
Linux
Linux 系统五种帮助命令的使用
Linux 系统五种帮助命令的使用
192 14
|
11月前
|
数据采集 人工智能 算法
近五千支队伍决战AI之巅, AFAC2024金融智能创新大赛在2024 Inclusion · 外滩大会完美收官
自从2022年12月ChatGPT上线以来,全球掀起了一场你追我赶的AI竞赛,不少国家都在全力以赴,抢占制高点。
|
开发框架 .NET Linux
ASP.NET Core部署到linux(CentOS)
ASP.NET Core部署到linux(CentOS)
663 0
ASP.NET Core部署到linux(CentOS)
|
存储 Go 索引
GO 集合 map 使用总结
GO 集合 map 使用总结
178 1
|
11月前
|
监控 架构师 Java
JVM进阶调优系列(6)一文详解JVM参数与大厂实战调优模板推荐
本文详述了JVM参数的分类及使用方法,包括标准参数、非标准参数和不稳定参数的定义及其应用场景。特别介绍了JVM调优中的关键参数,如堆内存、垃圾回收器和GC日志等配置,并提供了大厂生产环境中常用的调优模板,帮助开发者优化Java应用程序的性能。
|
人工智能 搜索推荐 大数据
AIGC文旅应用场景
【1月更文挑战第9天】AIGC文旅应用场景
603 1
AIGC文旅应用场景
|
网络协议 Linux 开发工具
Centos7 /etc/sysconfig/network-scripts/ifcfg-<interface>网络配置
自动化网络配置:NetworkManager 可以自动检测网络连接,并根据网络环境自动配置网络。这使得用户可以无需手动配置即可连接到网络。 支持多种网络连接:NetworkManager 支持多种网络连接,包括有线、无线、VPN、Wi-Fi 热点等。这使得用户可以根据需要选择合适的网络连接。 提供图形化和命令行工具:NetworkManager 提供了图形化工具和命令行工具,用户可以根据自己的喜好选择使用。
1154 4
|
机器学习/深度学习 存储 人工智能
2023 年 AI/ML 值得关注的 15 个 Github 开源库
2023 年 AI/ML 值得关注的 15 个 Github 开源库
703 0