从不相关的表中添加金额

时间:2015-05-19 22:36:44

标签: php mysql

我有以下表格;
表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

请让我知道我做得不对。

1 个答案:

答案 0 :(得分:1)

您正在交叉加入,这意味着将每一行与每一行匹配。您可能想要的是这样的,它保证每个派生表一行,这意味着交叉连接不会以您不想要的方式打破它:

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

demo fiddle