博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据库合并数据sql
阅读量:7076 次
发布时间:2019-06-28

本文共 1746 字,大约阅读时间需要 5 分钟。

1.sql2000中只能用自定义的函数解决

create table tb(id int, value varchar(10))insert into tb values(1, 'aa')insert into tb values(1, 'bb')insert into tb values(2, 'aaa')insert into tb values(2, 'bbb')insert into tb values(2, 'ccc')go create function dbo.f_str(@id varchar(10)) returns varchar(1000)asbegin  declare @str varchar(1000)  select @str = isnull(@str + ',' , '') + cast(value as varchar) from tb where id = @id  return @strendgo --调用函数select id , value = dbo.f_str(id) from tb group by id drop function dbo.f_strdrop table tb

 

 
2、sql2005中的方法
create table tb(id int, value varchar(10))insert into tb values(1, 'aa')insert into tb values(1, 'bb')insert into tb values(2, 'aaa')insert into tb values(2, 'bbb')insert into tb values(2, 'ccc')go select id, [value] = stuff((select ',' + [value] from tb t where id = tb.id for xml path('')) , 1 , 1 , '')from tbgroup by id drop table tb

 

 
 
3、使用游标合并数据
create table tb(id int, value varchar(10))insert into tb values(1, 'aa')insert into tb values(1, 'bb')insert into tb values(2, 'aaa')insert into tb values(2, 'bbb')insert into tb values(2, 'ccc')godeclare @t table(id int,value varchar(100))--定义结果集表变量--定义游标并进行合并处理declare my_cursor cursor local forselect id , value from tbdeclare @id_old int , @id int , @value varchar(10) , @s varchar(100)open my_cursorfetch my_cursor into @id , @valueselect @id_old = @id , @s=''while @@FETCH_STATUS = 0begin    if @id = @id_old       select @s = @s + ',' + cast(@value as varchar)    else      begin        insert @t values(@id_old , stuff(@s,1,1,''))        select @s = ',' + cast(@value as varchar) , @id_old = @id      end    fetch my_cursor into @id , @valueENDinsert @t values(@id_old , stuff(@s,1,1,''))close my_cursordeallocate my_cursor select * from @tdrop table tb

 

转载地址:http://tjcml.baihongyu.com/

你可能感兴趣的文章
windows平台下编辑的内容传到linux平台出现中文乱码的解决办法【转】
查看>>
js为元素动态添加css代码
查看>>
软件包管理 之 用apt+synaptic 在线安装或升级Fedora core 4.0 软件包── 为新手指南...
查看>>
DBGRIDEH保存"显示标题"
查看>>
spring mvc3 example
查看>>
vimrc
查看>>
js 模块化
查看>>
C#.NET 大型通用信息化系统集成快速开发平台 4.1 版本 - 数据权限增强、范围权限增强...
查看>>
Linux启动过程
查看>>
122. Best Time to Buy and Sell Stock II
查看>>
V模型与测试级别
查看>>
Elasticsearch安装
查看>>
根据IP定位城市
查看>>
Excel之tab键
查看>>
MyEclipse使用总结——使用MyEclipse打包带源码的jar包
查看>>
yii2 安装
查看>>
三大UML建模工具Visio、Rational Rose、PowerDesign的区别
查看>>
arcengine坐标转换[转]
查看>>
JavaScript 中定义变量时有无var声明的区别
查看>>
设计模式 -- 代理模式(Proxy)
查看>>