SQL中怎么把多查询结果合并成一条数据

有表如下示:
地区 负责人
A 甲
B 甲
C 甲
D 乙
E 乙
F 乙
G 丙
H 丙
I 丙

想得到结果
负责人 地区
甲 A,B,C
乙 D,E,F
丙 G,H,I

用SQL语句怎么写?

create Table T
(
  地区  varchar(10),
  负责人 varchar(10)
)
 
 
insert into T values('A','甲')
insert into T values('B','甲')
insert into T values('C','甲')
insert into T values('D','乙')
insert into T values('E','乙')
insert into T values('F','乙')
insert into T values('G','丙')
insert into T values('H','丙')
insert into T values('I','丙')


Select 负责人,Stuff((Select ','+地区 From T 
    Where 负责人=A.负责人
        For xml Path('')),1,1,'') As 地区 
From T A
Group by 负责人

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-03-11
用 for xml

SQL怎么把多条数据合并成一条数据?
把多条数据合并成一条数据的代码:select sum(case when wgrp_id='2' then quota end) w2, sum(case when wgrp_id='3' ;then quota end) w3, mm;from table;group by mm。SQL语言,是结构化查询语言(Structured Query Language)的简称。SQL语言是一种数据库查询和程序设计语言,用于存取...

SQL怎么把多条数据合并成一条数据?
把多条数据合并成一条数据的代码:select sum(case when wgrp_id='2' then quota end) w2, sum(case when wgrp_id='3' ;then quota end) w3, mm;from table;group by mm。SQL语言,是结构化查询语言(Structured Query Language)的简称。SQL语言是一种数据库查询和程序设计语言,用于存取...

SQL如何合并多个查询结果
也就是说union all在执行后,不会把相同的结果合并,而union会把相同的结果只显示成一行。

SQL如何合并多个查询结果
1.两个不同的表进行查询,需要把结果合并,比如table1的列为 id, user_id, type_id,pro_id;table2的列为 id,user_id,collect_id;分别如下图所示 table1:table2:2.将两个表的查询结果合并到一起的查询语句为 select *, null as collect_id from table1 where user_id = 527 union se...

SQL语句-如何拼接多列的值?
1、插入数据 这里以MySQL数据库为例,插入原始数据用于后续实验。其他数据库的插入语法可能略有差异,请自行调整。2、在MySQL中进行串联拼接 使用concat函数进行字段拼接,语法如下:对表中的name、age字段进行拼接:结果:3、在PostgreSQL、Oracle中进行串联拼接 使用||符号进行字段拼接,语法如下:对表中的...

SQL怎么将查询结果连接到一起?
(1)联立选字段select a.id,a.name name_2014,a.age.b.name name_2013 from(select id,name,age from a where time=2014) a,(select id,name from a where time=2013) b where a.id=b.id(2)利用case when和group by,这个需要测试(原因是我忘了直接写group行不行,还是要再套一...

SQL如何将查询结果合并成一行数据。 在这个查询语句前应该如何处理...
方案1:使用PIVOT()进行行列转换 方案2:使用GROUP BY,聚合时使用SUM(CASE WHEN)

SQL 语句合并查询,两张表字段一样
如果两张表的各自查询都只有一行结果。想把两个查询的结果合并到一行。可以直接使用自然连接:select aa.,bb.from (select from a)as aa ,(select from b)as bb 其中 (select from a)和(select from b)是你的两张表的查询,结果各自只有一行。如果说,你的意思是每张表查询出来的结果都有多行...

sql内多条数据合并为一条
有两种方式实现。在维度相同的情况下,可以用Union方式进行去重实现。大多数情况下不是第一种的特殊情况,此时可以采用关联的方式进行合并。也就是把每条数据当作一个表,关联查询合并成一条数据。如:

如何把三条SQL的查询结果连接为一条记录
select * from table1 union select * from table2 union select * from table3

相似回答