我有下表;
表A:
id amount
1 50
表B:
id amount
1 10
2 20
这三个表无论如何都不是不相关的,但我想要每个表中的金额总和,然后是所有表中所有金额的总和,以便我使用下面的查询。
SELECT sum(A.amount) AS a, SUM(B.amount) AS b, CONCAT(A.amount + B.amount + C.amount) as c FROM A, B
这给出了结果:
a b c
100 30 80
我正在寻找的结果是
a b c
50 30 80
请让我知道我做错了什么。
最佳答案
您正在交叉连接,这意味着将每一行与其他每一行进行匹配。您可能想要的是这样的东西,它保证每个派生表一行,这意味着交叉联接不会以您不想要的方式破坏它:
select a.total, b.total, c.total, a.total + b.total + c.total
from
(select sum(amount) total
from tablea
) a
join
(select sum(amount) total
from tableb
) b
join
(select sum(amount) total
from tablec
) c
关于php - 从不相关的表添加金额,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30337333/