Mysql将1个表合并到第2个表中,并一起计算列数
这是我需要通过合并它们得到的,列money和点的总和,如下表所示:Mysql将1个表合并到第2个表中,并一起计算列数,mysql,merge,sum,Mysql,Merge,Sum,这是我需要通过合并它们得到的,列money和点的总和,如下表所示: TABLE1 | ID | NAME | MONEY | POINTS | | 1 | Tim | 200 | 1 | | 2 | Arne | 500 | 2 | | 3 | Lies | 600 | 3 | TABLE2
TABLE1
| ID | NAME | MONEY | POINTS |
| 1 | Tim | 200 | 1 |
| 2 | Arne | 500 | 2 |
| 3 | Lies | 600 | 3 |
TABLE2
| ID | NAME | MONEY | POINTS |
| 1 | Tim | 1000 | 1 |
| 2 | Arne | 0 | 1 |
| 3 | Gerard | 50 | 1 |
很难找到如何使用mysql查询命令实现这一点。
欢迎提供任何帮助:)使用并集将两个原始表合并到一个表中,然后使用总和聚合生成每行的总计
TABLE3
| ID | NAME | MONEY | POINTS |
| 1 | Tim | 1200 | 2 |
| 2 | Arne | 500 | 3 |
| 3 | Lies | 600 | 3 |
| 4 | Gerard | 50 | 1 |
这实质上实现了两个表的
完全外部联接
,这是MySQL所缺乏的功能。两个表之间的关系是什么?+1比我的解决方案更明确:)
INSERT INTO table3 (name, money, points)
SELECT name, SUM(money), SUM(points)
FROM (SELECT name, money, points FROM table1
UNION ALL
SELECT name, money, points FROM table2) x
GROUP BY name