当前位置:  数据库>sqlserver

经典sql代码--合并多行的某一列值

    来源: 互联网  发布时间:2014-08-29

    本文导语:  经典sql代码:合并多行的某一列值 --合并多行的某一列值 --stuff:删除指定的字符,并在指定的起点处插入另一组字符。 create table tb (id int,col1 varchar(10)) go insert tb select 1 , '曾祥展' insert tb select 1 , '学无止境' insert tb se...

经典sql代码:合并多行的某一列值

--合并多行的某一列值
--stuff:删除指定的字符,并在指定的起点处插入另一组字符。
create table tb
(id int,col1 varchar(10))
go

insert tb select 1 , '曾祥展'  
insert tb select 1 , '学无止境' 
insert tb select 1 , 'ok'
insert tb select 2 , 'B'

drop table tb

--函数
create function StrLink(@id int)
returns varchar(8000)
as
begin 
declare @sql varchar(8000)     
set @sql='' 
select @sql=@sql+','+col1 from tb where id=@id 
set @sql=stuff(@sql,1,1,'') 
return @sql
end

drop function StrLink

select * from tb
select col=dbo.StrLink(1)

/*

id   col1
-----------
1    曾祥展
1    学无止境
1    ok
2    B

     col
------------------
曾祥展,学无止境,ok

*/
 
 declare @Temp TABLE([Col1] varchar(50), [Col2] varchar(100)) 
Insert @Temp  
Select 'a', 'asd' union 
Select 'a', 'rdf' union 
Select 'a', 'dmg' union 
Select 'b', 'kk' union 
Select 'b', 'useh' 
--第一种方法
select a.[Col1],stuff((select','+b.[Col2] from @Temp as b where a.[Col1] = b.[Col1] for xml path('')),1,1,'') as res 
from @Temp a 
group by a.[Col1] 

--或者
SELECT DISTINCT
[Col1],
[Col2] = SUBSTRING(( SELECT ', ' + [Col2] as [text()]
FROM @Temp t2
WHERE t2.Col1 = t1.Col1
FOR XML path(''), elements
), 2, 100
)
FROM @Temp t1

--结果:
          a asd,dmg,rdf
          b kk,useh

原文链接:http://www.cnblogs.com/zengxiangzhan/archive/2010/01/03/1638169.html


    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请问哪一本LINUX源代码分析的书比较经典?
  • C经典冒泡排序法实现代码
  • 经典Sql代码--取出点击量最高的文章100篇,每个作者不超过5篇
  • 经典sql代码--逐行计算、逐行递延、逐行更新
  • 经典sql代码--统计电话通话次数以及时长
  • 经典sql代码--有小时、分钟,求平均工作时间
  • 经典sql代码--统计文章各种分类总数
  • 经典sql代码--求每天的收入和支出
  • 经典sql代码--小计 合计 -统计
  • 请问什么地方可以得到Linux的源代码,非常想学学经典的程序,启发启发自己,谢谢!
  • 经典sql代码--解决并清除SQL被注入恶意代码的语句
  • 经典sql代码--班级考试人数大于10、班级最低分在50分以上、计算机学院、班级平均分从高到低前10名
  • 经典sql代码--时间天数相差5天以上并且记录条数大于2的信息
  • 经典sql代码--近期价格处于降价趋势(至少调了3次)的所有商品
  • Jquery 经典选项卡的实现代码一例
  • 经典sql代码--按年龄段、品牌分类进行分组统计
  • 经典sql代码--查询每个分类取最新的几条的SQL实现
  • j2ee架构最经典的例子是什么?petstore算是最经典的例子吗?
  • 请大家推荐几个经典的JAVA网站!!(经典者给分)
  • THING IN JAVA 第二版(中文版) 已经出炉了!!(经典的不能再经典了)
  • 经典board游戏 Domination
  • linux有没有像--《windows程序设计》一样经典的书籍
  • 在Linux下开发有哪些经典的书籍值得看
  • 大家帮推荐本 linux下多线程编程 的经典书吧 多谢
  • 求unix经典书籍
  • 求LINUX经典书籍
  • 谁知道经典的DOS游戏去哪里下载?
  • Wii经典街机iPhone移植版 SpaceBubble
  • java中最经典的书是什么
  • 大家能否推荐几个学习java的经典例子?
  • 请前辈介绍一本jsp+数据库的经典好书!!!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3