最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2017年02月19日 13:44:16   投稿:mdxy-dxy  
這篇文章主要介紹了分組字符合并SQL語句 按某字段合并字符串之一(簡單合并),需要的朋友可以參考下

標(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語句的介紹。希望對大家有所幫助。

相關(guān)文章

  • 輕量級數(shù)據(jù)庫SQL?Server?Express?LocalDb介紹

    輕量級數(shù)據(jù)庫SQL?Server?Express?LocalDb介紹

    這篇文章介紹了輕量級數(shù)據(jù)庫SQL?Server?Express?LocalDb,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • SQL server 三種常用的觸發(fā)器

    SQL server 三種常用的觸發(fā)器

    文章介紹了SQL Server中三種常用的觸發(fā)器:插入觸發(fā)器、刪除觸發(fā)器和更新觸發(fā)器,每種觸發(fā)器在特定操作(插入、刪除、更新)發(fā)生時觸發(fā),觸發(fā)器可以訪問兩個虛擬表:Inserted(新數(shù)據(jù))和Deleted(舊數(shù)據(jù)),用于獲取和操作數(shù)據(jù),感興趣的朋友一起看看吧
    2025-03-03
  • SQL語句(T-SQL匯總) 用T-SQL畫出這些圖形

    SQL語句(T-SQL匯總) 用T-SQL畫出這些圖形

    今天和大家一起來分享一下SQL語句,T-SQL的用法和語法,以及一些例子,目的是幫助大家一起來復(fù)習(xí)一下T-SQL的基本語句,以便在項(xiàng)目中更快速的運(yùn)用,當(dāng)然對于新手來說就更應(yīng)該去學(xué)習(xí)和總結(jié)了
    2012-07-07
  • SQLServer中排查死鎖及死鎖問題解決

    SQLServer中排查死鎖及死鎖問題解決

    在并發(fā)訪問數(shù)據(jù)庫的環(huán)境中,死鎖是一個常見的問題,本文主要介紹了SQLServer中排查死鎖及死鎖問題解決,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-08-08
  • 基于存儲過程的詳細(xì)介紹

    基于存儲過程的詳細(xì)介紹

    本篇文章小編將為大家介紹,基于存儲過程的詳細(xì)介紹,有需要的朋友可以參考一下
    2013-04-04
  • SQLserver中的any和all運(yùn)算符的用法

    SQLserver中的any和all運(yùn)算符的用法

    本文主要介紹了SQL?server?中的any和all運(yùn)算符,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • 數(shù)據(jù)庫觸發(fā)器DB2和SqlServer有哪些區(qū)別

    數(shù)據(jù)庫觸發(fā)器DB2和SqlServer有哪些區(qū)別

    大部分?jǐn)?shù)據(jù)庫語句的基本語法是相同的,但具體到的每一種數(shù)據(jù)庫,又有些不一樣,例如觸發(fā)器,DB2和SQL Server兩種很大的不同。對數(shù)據(jù)庫觸發(fā)器DB2和SqlServer有哪些區(qū)別感興趣的朋友一起看看本文吧
    2015-11-11
  • SqlServer中批量update語句

    SqlServer中批量update語句

    我現(xiàn)在想把S_USER表中的ACCOUNT批量修改成S_PERSON的ACCOUNT,那么就可以參考下面的語句,要找到對應(yīng)的字段
    2019-11-11
  • SQL Server 表變量和臨時表的區(qū)別(詳細(xì)補(bǔ)充篇)

    SQL Server 表變量和臨時表的區(qū)別(詳細(xì)補(bǔ)充篇)

    這篇文章主要介紹了SQL Server 表變量和臨時表的區(qū)別(詳細(xì)補(bǔ)充篇),需要的朋友可以參考下
    2015-11-11
  • SQL Server如何保證可空字段中非空值唯一

    SQL Server如何保證可空字段中非空值唯一

    今天同學(xué)向我提了一個問題,我覺得蠻有意思,現(xiàn)記錄下來大家探討下。問題是:在一個表里面,有一個允許為空的字段,空是可以重復(fù)的,但是不為空的值需要唯一。
    2011-03-03

最新評論

罗城| 宁阳县| 谢通门县| 宁海县| 莱州市| 萨嘎县| 遵义县| 道真| 安徽省| 方正县| 千阳县| 邯郸市| 嘉祥县| 乃东县| 临洮县| 嘉义县| 丽江市| 绥中县| 专栏| 封开县| 罗平县| 镇江市| 武冈市| 岗巴县| 师宗县| 淳化县| 襄樊市| 原平市| SHOW| 特克斯县| 彩票| 佳木斯市| 牟定县| 康保县| 瓮安县| 呼图壁县| 保德县| 镇坪县| 柏乡县| 垫江县| 疏附县|