php - 从不相关的表添加金额

标签 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

请让我知道我做错了什么。

最佳答案

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

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

关于php - 从不相关的表添加金额,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30337333/

相关文章:

php - 如何通过同一个帖子检查电子邮件地址或用户名是否有效或是否存在?

mysql - Scrapy MySQL 管道——所有数据库条目都相同

php - 具有高级(列)过滤的 CRUD?

php - LOAD DATA INFILE - 显示导入的行数给出错误的值

php - 使用swift2插入数据库

php - 在 MySQL 中使用 distinct 函数

mysql - 更新 JSON 对象 MySQL

mysql - 如何优化运行时间为 2 分 25 秒的我的 sql 查询

mysql - 我想使用 Mysql 作为数据库来部署我的 Rails 应用程序。我想使用免费的heroku 服务器。这个免费服务器有什么限制?

php.ini 丢失/帮助安装 php