婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

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

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

熱門標簽:零成本地圖標注賺錢 家庭農場地圖標注名稱怎樣起名 互聯網電話外呼系統 千呼電話機器人可以試用嗎 我要地圖標注數量有限制嗎 電話機器人怎么代理商 400電話辦理泰安 安卡拉地圖標注app 電銷需要外呼系統嗎

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


描述:將如下形式的數據按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')
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



--調用函數


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、使用游標合并數據

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))
--定義結果集表變量
--定義游標并進行合并處理

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

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

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

標簽:東營 新鄉 黃山 濱州 文山 池州 來賓 大同

巨人網絡通訊聲明:本文標題《分組字符合并SQL語句 按某字段合并字符串之一(簡單合并)》,本文關鍵詞  分組,字符,合并,SQL,語句,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《分組字符合并SQL語句 按某字段合并字符串之一(簡單合并)》相關的同類信息!
  • 本頁收集關于分組字符合并SQL語句 按某字段合并字符串之一(簡單合并)的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 利辛县| 赤壁市| 嘉祥县| 修武县| 金门县| 长泰县| 虹口区| 黎川县| 九江县| 沧州市| 常熟市| 紫阳县| 福安市| 左云县| 黔江区| 佛学| 万宁市| 西城区| 日喀则市| 逊克县| 高安市| 沙湾县| 三河市| 阳信县| 淮滨县| 宜阳县| 繁峙县| 巴彦县| 渭南市| 新安县| 扬州市| 米林县| 随州市| 洛南县| 寿宁县| 南康市| 凌云县| 稷山县| 石河子市| 东至县| 榆树市|