麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數據庫 > SQL Server > 正文

分組字符合并SQL語句 按某字段合并字符串之一(簡單合并)

2024-08-31 01:04:40
字體:
來源:轉載
供稿:網友

標題:按某字段合并字符串之一(簡單合并)


描述:將如下形式的數據按id字段合并value字段。
id    value
----- ------
1     aa
1     bb
2     aaa
2     bbb
2     ccc
需要得到結果:
id     value
------ -----------
1      aa,bb
2      aaa,bbb,ccc
即:group by id, 求 value 的和(字符串相加)

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')gocreate function dbo.f_str(@id int) returns varchar(100)asbegin declare @str varchar(1000) set @str='' select @str=@str+''+cast(value as varchar) from tb where id = @id set @str=right(@str , len(@str) - 1) return @strendgo--調用函數select id , value = dbo.f_str(id) from tb group by iddrop 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')goselect id, [value] = stuff((select ',' + [value] from tb t where id = tb.id for xml path('')) , 1 , 1 , '')from tb group by iddrop 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_cursor fetch 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 , @value END  insert @t values(@id_old , stuff(@s,1,1,'')) close my_cursor deallocate my_cursor select * from @tdrop table tb

以上就是關于分組字符合并SQL語句的介紹。希望對大家有所幫助。

 

注:相關教程知識閱讀請移步到MSSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 二区三区四区视频 | 伊人一二三四区 | 中文字幕欧美在线 | 国产精品久久久久久久久久久久午夜 | 国产精品高潮99久久久久久久 | 国产精品6区 | 国产一区二区三区四 | 黄色成人小视频 | 国产精品久久久久久久久粉嫩 | 欧美大荫蒂xxx | 国产视频在线观看免费 | 91精品国产99久久久久久 | 在线成人精品视频 | 13一14毛片免费看 | 大学生一级毛片在线视频 | 精品国产一区二区三区四区在线 | 欧美性激情视频 | 国产合集91合集久久日 | 得得啪在线视频 | 久久综合福利 | 久久久久久久久久久av | 欧美日韩国产成人在线观看 | 亚洲一区二区三区日本久久九 | 国产精品高潮视频 | 男女无遮挡羞羞视频 | 亚洲午夜不卡 | 免费中文视频 | 国产精品视频二区不卡 | 久久亚洲成人 | 蜜桃网在线 | 精品一区二区6 | 欧美日本一| 中文字幕亚洲情99在线 | 日本高清视频网站www | 国产精品成人亚洲一区二区 | 欧美性生交xxxxx久久久 | 国产精品av久久久久久无 | 精品久久久久久久久久久aⅴ | 久久久久久久久久久久久国产精品 | 免费香蕉成视频成人网 | 久久国产精品久久精品国产演员表 |