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

主頁 > 知識庫 > 分組字符合并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)民參考!
  • 推薦文章
    主站蜘蛛池模板: 云霄县| 柳江县| 英山县| 绥滨县| 长岛县| 昭苏县| 普陀区| 永和县| 德江县| 乐至县| 梁山县| 太原市| 察哈| 陕西省| 石屏县| 龙陵县| 花莲市| 曲周县| 罗田县| 稻城县| 邵阳市| 富源县| 武宣县| 芒康县| 新安县| 抚顺市| 宁晋县| 河源市| 方城县| 墨竹工卡县| 正蓝旗| 舟曲县| 黄石市| 措勤县| 肥城市| 中牟县| 香格里拉县| 南川市| 卢湾区| 茂名市| 洪江市|