将两行中一行的一列值合并到第三个表中

use*_*643 4 php mysql sql

这个标题听起来真的很混乱,所以让我展示我需要的东西.

table1:

name  number
Bob   6
Linda 8
Tina  3
Run Code Online (Sandbox Code Playgroud)

table2:

name  number
Bob   9
Linda 2
Tina  1
Run Code Online (Sandbox Code Playgroud)

我需要的是将值number加到第三个表(已经存在)中,以便它看起来像这样:

table3:

name  number
Bob   15
Linda 10
Tina  4
Run Code Online (Sandbox Code Playgroud)

对不起,如果这已经得到了解答,但我尽可能地搜索,所有的答案都是针对这个问题的,并没有完全按照我的需要进行.

编辑: table3目前完全空白.它只是table1和and 共享相同的结构table2.

Lat*_*san 5

这是你如何做到的:

insert into table3 (name, number)
    select t.name, sum(t.number) as totalNumber
    from (
       select name, number from table1 
       union
       select name, number from table2
       union
       select name, number from table3
    ) t
    group by t.name
Run Code Online (Sandbox Code Playgroud)

如果你想要特定的summry数据name,你可以在上面这样的where子句中添加group by:

where t.name = 'Bob'
Run Code Online (Sandbox Code Playgroud)