如何对三个mysql表中的列求和?

如何对三个mysql表中的列求和?,mysql,sql,sum,Mysql,Sql,Sum,这是我的桌子: 表1 ----------------- ID | value ----------------- 1 | 0 ----------------- 2 | 3 ----------------- 3 | 10 ----------------- 表2 ----------------- ID | value ----------------- 3 | 4 -----

这是我的桌子:

表1

-----------------
  ID   | value  
-----------------
  1    |   0    
-----------------    
  2    |   3  
----------------- 
  3    |  10  
----------------- 
表2

-----------------
  ID   | value  
-----------------
  3    |   4    
----------------    
  5    |   6 
----------------- 
  6    |   8  
----------------- 
表3

-----------------
  ID   | value  
-----------------
  7    |   7    
----------------    
  8    |   8
----------------- 
  9    |   9  
-----------------
结果表

    -----------------
      ID   | value  
    -----------------
      1    |   0    
    ----------------    
      2    |   3 
    ----------------- 
      3    |   14  
   ----------------    
      5    |   6 
    ----------------- 
      6    |   8  
    -----------------
      7    |   7    
   ----------------    
      8    |   8
   ----------------- 
      9    |   9  
   -----------------
我想知道如何对
表1
表2
上的
列求和‍<代码>表3
以达到
结果

我写的查询是:

INSERT INTO result (ID, value)
SELECT ID, SUM(t1.value+ t2.value, t3.value)
FROM table1 t1, table2 t2, table3 t3
GROUP BY ID

但是它只是挂起(实际的表很大),我怀疑它是否正确,因为
ID
s在表1和表2中不一样

select id, sum(value) from (
    select id, value from table1
    union all select id, value from table2
    union all select id, value from table3
) t group by id

union all
将每个select语句的结果组合成一个大结果(
all
部分确保不会自动删除重复的行),最后,组合的结果会像往常一样进行分组和求和。

这是一个交叉连接,即大型表上的笛卡尔积,所有排列。1m x 1m=1特里利昂威尔实际上这是一个模棱两可的错误1052,但你得到了理想的答案。但是如果有3个表怎么办?@Jand您可以添加额外的
union all select…
额外的表对不起,我无法将其扩展到3个表,所以修改了我的问题。请你修改一下答案好吗?很有魅力,而且很快。非常感谢。