次の2つのクエリがあります。
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
これが2番目のクエリの結果です
上記の2つのクエリの結果を表示しようとはしていません。達成しようとしているのは、上記のクエリからaccount_name、AMOUNT1、およびAMOUNT2を取得し、Amount2 FROM AMOUNT1-を減算して、テーブルの列から値を加算することです。
例:
(AMOUNT1-AMOUNT2)+op_balance //here op_balance is my column name
次にaccount_name
、(AMOUNT1-AMOUNT2)+op_balance
この質問を手伝ってくれませんか。
ありがとう :)
さらに情報が必要な場合はお知らせください。:)
編集済み
これが私のテーブルの構造です:
ありがとう :)
Edit2
テーブル名:エントリ(ケース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
テーブル名:エントリ(ケース2)
id trans_id accounts_id amount side
1 1 12 1000 D
2 1 1 1000 C
コードはケース1では機能しますが、ケース2では機能しません。あなたlentries.accounts_id = entries.accounts_id
はあなたのコードで使用しました、そしてそれは結合するテーブルに同じもののための複数の値accounts_id
がなく、あなたのコードがケース2の値を数えないので理由です。
しかし、私はすべてのデータを取得しようとしています。ありがとう :)