我有以下两个查询。
SELECT
account_name,SUM(amount) AS AMOUNT1
FROM
entries
LEFT JOIN
accounts ON accounts.id = entries.accounts_id
WHERE
side = 'D' AND op_balance_dc = 'D'
GROUP BY
accounts.id
这是查询的结果:
SELECT
account_name,SUM(amount) AS AMOUNT2
FROM
entries
LEFT JOIN
accounts ON accounts.id = entries.accounts_id
WHERE
side = 'C' AND op_balance_dc = 'D'
GROUP BY
accounts.id
这是第二次查询的结果
我不是要显示上述两个查询的结果,我要实现的是从上述查询中获取 account_name、AMOUNT1 和 AMOUNT2,然后从 AMOUNT1 中减去 Amount2,然后从我的表的列中添加一个值。
例子:
(AMOUNT1-AMOUNT2)+op_balance //here op_balance is my column name
然后显示account_name
和(AMOUNT1-AMOUNT2)+op_balance
你能帮我解决这个问题吗?
谢谢 :)
如果您需要更多信息,请告诉我。:)
已编辑
这是我的表的结构:
谢谢 :)
编辑2
表名:条目(Case-1)
id trans_id accounts_id amount side
1 1 12 1000 D
2 1 1 1000 C
7 4 1 14000 D
8 4 2 14000 C
表名:条目(Case-2)
id trans_id accounts_id amount side
1 1 12 1000 D
2 1 1 1000 C
您的代码适用于 case-1,但不适用于 case-2。您lentries.accounts_id = entries.accounts_id
在代码中使用了这就是为什么因为表中没有多个相同accounts_id
的值要加入,并且您的代码没有计算 case-2 中的值。
但我正在尝试获取所有数据。谢谢 :)