Microsoft SQL Server
SQL Serverの文字列集計関数
サーチ…
ストリング集約にSTUFFを使用する
SubjectIdを持つStudentテーブルがあります。ここでの要件は、subjectIdに基づいて連結することです。
すべてのSQL Serverバージョン
create table #yourstudent (subjectid int, studentname varchar(10))
insert into #yourstudent (subjectid, studentname) values
( 1 ,'Mary' )
,( 1 ,'John' )
,( 1 ,'Sam' )
,( 2 ,'Alaina')
,( 2 ,'Edward')
select subjectid, stuff(( select concat( ',', studentname) from #yourstudent y where y.subjectid = u.subjectid for xml path('')),1,1, '')
from #yourstudent u
group by subjectid
文字列集約のためのString_Agg
SQL Server 2017またはvnextの場合、この集約には組み込みのSTRING_AGGを使用できます。同じ学生テーブルの場合、
create table #yourstudent (subjectid int, studentname varchar(10))
insert into #yourstudent (subjectid, studentname) values
( 1 ,'Mary' )
,( 1 ,'John' )
,( 1 ,'Sam' )
,( 2 ,'Alaina')
,( 2 ,'Edward')
select subjectid, string_agg(studentname, ',') from #yourstudent
group by subjectid
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow