婷婷综合国产,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語句 按某字段合并字符串之一(簡單合并)的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 桦川县| 顺昌县| 宜丰县| 曲靖市| 卓资县| 莎车县| 牙克石市| 忻州市| 新河县| 科尔| 大方县| 封开县| 贡山| 兴城市| 时尚| 沈阳市| 龙胜| 广安市| 乡宁县| 宝丰县| 吉安县| 修文县| 安阳市| 许昌市| 内丘县| 岫岩| 通许县| 龙岩市| 富顺县| 北流市| 金门县| 图们市| 凯里市| 红河县| 视频| 射洪县| 溆浦县| 揭西县| 宿州市| 盈江县| 新干县|