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

分組字符合并SQL語(yǔ)句 按某字段合并字符串之一(簡(jiǎn)單合并)

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

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


描述:將如下形式的數(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語(yǔ)句的介紹。希望對(duì)大家有所幫助。

相關(guān)文章

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

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

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

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

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

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

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

    SQLServer中排查死鎖及死鎖問(wèn)題解決

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

    基于存儲(chǔ)過(guò)程的詳細(xì)介紹

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

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

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

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

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

    SqlServer中批量update語(yǔ)句

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

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

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

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

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

最新評(píng)論

和林格尔县| 克东县| 曲阜市| 金堂县| 宜黄县| 法库县| 八宿县| 正安县| 天等县| 安新县| 英山县| 绥江县| 阿荣旗| 潍坊市| 衡东县| 贡觉县| 旬阳县| 昌平区| 崇明县| 高唐县| 宽城| 苍梧县| 顺平县| 化德县| 将乐县| 仪陇县| 德阳市| 得荣县| 西林县| 东兰县| 沙洋县| 荣成市| 凭祥市| 宁津县| 桦川县| 涞水县| 深泽县| 曲靖市| 垦利县| 辽阳县| 永宁县|