转换用逗号分隔的行值与内部联接表查询

时间:2017-05-04 03:14:39

标签: sql

我想将用逗号分隔的行值转换为内部联接表查询与其他列也在那里。 我的查询显示如下记录:

Name ID Services Type
xyz  1  s1       A
xyz  1  s2       A
xyz  1  s3       A
abc  2  s2       B
abc  2  s3       B

enter image description here

我想输出如下:

Name, ID, Services, Type
xyz   1   s1,s2,s3  A
abc   2   s2,s3     B

2 个答案:

答案 0 :(得分:0)

请使用以下代码 -

create table #name(name varchar(10),id int,type varchar(10))

插入#name值('XYZ',1,'A') 插入#name值('abc',2,'B')

create table #services(id int,[Services] varchar(10))

插入#services(1,'s1') 插入#services(1,'s1') 插入#services(1,'s2') 插入#services(1,'s3') 插入#services(2,'s2') 插入#services(2,'s3')

选择姓名,t.ID,

(从#Services s1中选择s1。[Services] +',',其中s1.id = s.id用于xml路径(''))AS服务  ,[类型] 来自#name t 内部联接#services s在s.id = t.id

答案 1 :(得分:0)

let overlays = mapView.overlays
mapView.removeOverlays(overlays)

插入#name值(' XYZ',1,' A')插入#name值(' abc',2,' B&#39)

create table #name ( name varchar(10), id int ,type varchar(10))

路径(''))AS服务,[TYPe]来自#name t