校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > 分組字符合并SQL語句 按某字段合并字符串之一(簡單合并)

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

熱門標(biāo)簽:零成本地圖標(biāo)注賺錢 家庭農(nóng)場地圖標(biāo)注名稱怎樣起名 互聯(lián)網(wǎng)電話外呼系統(tǒng) 千呼電話機(jī)器人可以試用嗎 我要地圖標(biāo)注數(shù)量有限制嗎 電話機(jī)器人怎么代理商 400電話辦理泰安 安卡拉地圖標(biāo)注app 電銷需要外呼系統(tǒng)嗎

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


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

1、sql2000中只能用自定義的函數(shù)解決

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 int) 
returns varchar(100)
as
begin
 
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 @str
end
go



--調(diào)用函數(shù)


select id , value = dbo.f_str(id) from tb group by id


drop function dbo.f_str

drop 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 tb group by id

drop table tb

3、使用游標(biāo)合并數(shù)據(jù)

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

declare @t table(id int,value varchar(100))
--定義結(jié)果集表變量
--定義游標(biāo)并進(jìn)行合并處理

declare my_cursor cursor local for
select id , value from tb
declare @id_old int , @id int , @value varchar(10) , @s varchar(100)
open my_cursor fetch my_cursor into @id , @value
select @id_old = @id , @s=''while @@FETCH_STATUS = 0
begin
 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 @t
drop table tb

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

您可能感興趣的文章:
  • mysql單字段多值分割和合并的處理方法
  • Mysql合并結(jié)果接橫向拼接字段的實(shí)現(xiàn)步驟
  • MySQL Union合并查詢數(shù)據(jù)及表別名、字段別名用法分析
  • mysql 列轉(zhuǎn)行,合并字段的方法(必看)
  • sql server 中合并某個(gè)字段值的實(shí)例
  • mysql中合并兩個(gè)字段的方法分享
  • SQL函數(shù)將某個(gè)字段合并在一起的操作

標(biāo)簽:東營 新鄉(xiāng) 黃山 濱州 文山 池州 來賓 大同

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《分組字符合并SQL語句 按某字段合并字符串之一(簡單合并)》,本文關(guān)鍵詞  分組,字符,合并,SQL,語句,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《分組字符合并SQL語句 按某字段合并字符串之一(簡單合并)》相關(guān)的同類信息!
  • 本頁收集關(guān)于分組字符合并SQL語句 按某字段合并字符串之一(簡單合并)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 湘西| 湘西| 阿拉善左旗| 垦利县| 桂平市| 万荣县| 开封县| 扬中市| 栖霞市| 浮山县| 宜宾市| 清原| 常山县| 瓦房店市| 清远市| 佛教| 巴马| 宁城县| 茶陵县| 志丹县| 芜湖县| 乌拉特后旗| 玉树县| 新平| 柞水县| 双城市| 景德镇市| 新绛县| 海原县| 汨罗市| 平原县| 佛学| 汤原县| 瓮安县| 新竹县| 白山市| 惠水县| 南郑县| 青川县| 肥乡县| 武清区|