Sql Query用于根据名称将2个表中的数据插入到一个表中

use*_*516 2 sql

您好我目前有2个来自不同来源的数据表,我需要将它们全部合并到一个主表中.

数据库布局:
表A
-Name
-Ranking
-Score

表B
-Name
-Ranking
-Score

表中的新
杂牌
-Ranking一个
-Score一个
-Ranking乙
-Score乙

我想从表A和B中获取数据,并根据名称将其插入表New.不知道怎么在sql中做这个,任何帮助赞赏

Joe*_*lli 6

假设TableA中的每条记录在TableB中都有相应的记录:

insert into TableNew
    (Name, RankingA, ScoreA, RankingB, ScoreB)
    select a.Name, a.Ranking, a.Score, b.Ranking, b.Score
        from TableA a
            inner join TableB b
                on a.Name = b.Name
Run Code Online (Sandbox Code Playgroud)

如果该假设无效,那么:

insert into TableNew
    (Name, RankingA, ScoreA, RankingB, ScoreB)
    select a.Name, a.Ranking, a.Score, b.Ranking, b.Score
        from TableA a
            left join TableB b
                on a.Name = b.Name
    union all
    select b.Name, a.Ranking, a.Score, b.Ranking, b.Score
        from TableB b
            left join TableA a
                on b.Name = a.Name
        where a.Name is null
Run Code Online (Sandbox Code Playgroud)