mysql - 添加一些列并减去另一列

标签 mysql sql

我有两个表 insert1received1 在 insert1 表中有列,列名是 recharge_account。 received 表只有一列,列名是received_amount

我想将 recharge_ammount - total received_amount 作为会费。

recharge_Account       Received_Amount     dues
500              -        400               100

SELECT
    SUM(Account_recharge) AS `Total Recharge`,
    SUM(Amount_Received) AS `Total Received`,
    SUM(Account_recharge) - SUM(Amount_Received) AS dues
FROM insert1 i1
INNER JOIN received1 r1

我无法准确计算。

最佳答案

您只需要一个连接条件,例如 ON i1.id = r1.ins_id,以及针对空值的 COALESCE() 函数:

SELECT
    SUM(COALESCE(Account_recharge,0)) AS `Total Recharge`,
    SUM(COALESCE(Amount_Received,0)) AS `Total Received`,
    SUM(COALESCE(Account_recharge,0)) - SUM(COALESCE(Amount_Received,0)) AS dues
FROM insert1 i1
JOIN received1 r1 ON i1.id = r1.ins_id

关于mysql - 添加一些列并减去另一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57969514/

相关文章:

java - Spring Boot 不从 application.properties 加载用户名

mysql - MySQL 上的 GROUP BY 非常慢。与指数无关

sql - MySQL AVG() 值不会在每一行上重置

php - fork PHP 应用程序中的单个数据库连接

sql - 如何在 SQL 中替换左连接

mysql - 优化SQL中大数据的left join select查询

php - 是否有相当于 mysqli 语法 $stmt->bind_param() 的 PDO?

sql - 无CTE的分层查询

mysql - 可以引用另一个表作为表中的一行吗?

sql - SQL Server INNER JOIN 语法有何不同?