sql server 语句如何将3个表合并成一个表?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql server 语句如何将3个表合并成一个表?相关的知识,希望对你有一定的参考价值。

如图中3个明细表,如何汇总成一个总表,sql 语句如何写,3个表中人员有一样的,也有不一样的。

先说一下我的思路:

    首选你把表1,表2,表3中的数据都合并在一起表中,使用union all合并在一起。先不要管姓名是否会重复。

    但是在执行合并的时候,需要对每一个待合并的数据,打上一个标签,代表这个是哪个表中来的数据,这个标签最后用于区分同一个人的不同的成绩是分别是多少,不能因为合并在一起后,就把同一个人的三项成绩给搞混了。

    合并后的数据进行行转列的操作。

具体的SQL语句如下图所示:


参考技术A select a.参赛者姓名,b.长跑得分,c.游泳得分,d.跳高得分 from (
select 参赛者姓名 from (
select 参赛者姓名 from 表1
union
select 参赛者姓名 from 表2
union
select 参赛者姓名 from 表3) as t
) as a
left join 表1 as b
on a.参赛者姓名=b.参赛者姓名
left join 表2 as c
on a.参赛者姓名=c.参赛者姓名
left join 表3 as d
on a.参赛者姓名=d.参赛者姓名

以上是关于sql server 语句如何将3个表合并成一个表?的主要内容,如果未能解决你的问题,请参考以下文章

使用SQL语句将数据库中的两个表合并成一张表

sql怎么把两张表合并成一张

C#中两个数据表合并成一个表如何操作?

sqlserver 把两个sql查询语句查询出来的两张表合并成一张表

将两个顺序存储的有序表合并成一个有序表

链表习题-将两个递增单链表合并成一个递减单链表