【发布时间】:2015-11-10 12:25:03
【问题描述】:
这是我的桌子:
表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
-----------------
我想知道如何在 table1、table2 和 table3 上的 Value 列上求和以到达 Result 表?
我写的查询是这样的:
INSERT INTO result (ID, value)
SELECT ID, SUM(t1.value+ t2.value, t3.value)
FROM table1 t1, table2 t2, table3 t3
GROUP BY ID
但它只是挂起(实际表很大),我怀疑它是否正确,因为IDs 在 table1 和 table2 中不一样
【问题讨论】:
-
这是一个交叉连接,也就是笛卡尔积,所有排列,在大表上。 1m x 1m =1 万亿
-
其实这是一个模棱两可的错误 1052,但你明白了