sql查询结果中有id相同的字段如何对查询结果进行操作将id相同的合并为一条数据
班级表classclassid,calssname,teacherid11一班11一班22三班1教师表teacherteacherid,teachername1zhang...
班级表class
classid, calssname,teacherid1
1 一班 1
1 一班 2
2 三班 1
教师表teacher
teacherid, teachername
1 zhangsan
2 lisi
select classid ,classname,teachername from class left join teacher on class.teacherid=teacher.teacherid
结果如下:
classid ,classname,teachername
1 一班 zhangsan
1 一班 lisi
2 三班 zhangsan
想要将classid相同的合并为一条,效果如下
classid ,classname,teachername
1 一班 zhangsan,lisi
2 三班 zhangsan
只能对两个表联合查询的结果进行合并操作,各位大神们拜托了,我的财富值都提问 了只剩真么多了,万分感谢 展开
classid, calssname,teacherid1
1 一班 1
1 一班 2
2 三班 1
教师表teacher
teacherid, teachername
1 zhangsan
2 lisi
select classid ,classname,teachername from class left join teacher on class.teacherid=teacher.teacherid
结果如下:
classid ,classname,teachername
1 一班 zhangsan
1 一班 lisi
2 三班 zhangsan
想要将classid相同的合并为一条,效果如下
classid ,classname,teachername
1 一班 zhangsan,lisi
2 三班 zhangsan
只能对两个表联合查询的结果进行合并操作,各位大神们拜托了,我的财富值都提问 了只剩真么多了,万分感谢 展开
2个回答
展开全部
也不说你是用的什么数据库,sqlserver为例
建表
create table class
(classid int,
classname varchar(10),
teacherid int)
insert into class values (1,'一班',1)
insert into class values (1,'一班',2)
insert into class values (2,'三班',1)
create table teacher
(teacherid int,
teachername varchar(10))
insert into teacher values (1,'zhangsan')
insert into teacher values (2,'lisi')
执行
with tb as
(select a.classid,a.classname,b.teachername
from class a left join teacher b
on a.teacherid=b.teacherid)
select classid,classname,teachername=stuff((select ','+teachername from tb t where classid=tb.classid and classname=tb.classname for xml path('')), 1, 1, '')
from tb
group by classid,classname
结果截图
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询