MYSQL:如何返回三个表的查询计算结果?

标签 mysql

我有三个表:

Table1: Salary
Fields: ID,Account_Num,Amount

Table2: Other_Income
Fields: ID,Account_Num,Amount

Table3: Expenses
Fields: ID,Account_Num,Amount

从上面的表中,如何编写一个返回结果的查询,列出这些表中的所有帐户,并显示这些表中每个帐户的余额。

结果应显示Account_num、薪水、Other_Income、费用、 余额(balance=Salary.amount+Other_Income.amount-expenses.amount)

这三个表可能包含一些不同的帐号。

这个问题我想了很久,尝试过 union 和 join 但还是不行。

有人展示/指导我吗?

最佳答案

我对以下查询有一些运气。本质上,我将 Salary、Other_Income 和 Expenses 表中的所有交易合并到一个名为合并的临时表中,然后使用 group by 对所有交易进行求和!

select Account_Num, sum(Amount)
from (
  select Account_Num, Amount from Salary union
  select Account_Num, Amount from Other_Income union
  select Account_Num, -Amount from Expenses
) as Combined
group by Account_Num;

关于MYSQL:如何返回三个表的查询计算结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25338215/

相关文章:

php - 自动生成子页面

php - 数据表:根据数据库值隐藏列

Mysql 寻找差异

mysql - sql 从两个不同的表中选择查询 WHERE active=1

php - 计算特定日期的总行数

php - 使用 class.upload.php 将图像上传到 mysql DB。图像名称没有扩展名

Bash 中的 MySQL 错误

mysql - CakePHP如何查找 "Users"数据库表?

php - 这个错误代码是什么意思 PHP

MySQL SELECT From TABLE WHERE FIELD TITLE 不喜欢