2016-08-17 8 views
-1

を取得しますか?効率的なクエリは、私はこのようなサンプルデータを持つテーブルを持っている口座残高

1つの方法は、合計クレジットを見つけ、それを合計デビットから差し引くことです。

SELECT sum(amount) as credit_total 
FROM `cash_book` 
WHERE `type` = 'credit' 
AND `account_holder_id` =1 
AND `created_at` >= '2016-07-31 00:00:00'; 


SELECT sum(amount) as debit_total 
FROM `cash_book` 
WHERE `type` = 'debit' 
AND `account_holder_id` =1 
AND `created_at` >= '2016-07-31 00:00:00'; 

誰かがより良いクエリを提案できますか?

+0

のアイデアは、SO、あなたがしようとすると、必要なクエリを作成し、あなたが問題を抱えているとき、あなたの試みで助けを求めるです。 SOは無料のコーディングまたはコード変換サービスではありません – RiggsFolly

答えて

2

シングルラン総

SELECT sum(case when `type` = 'credit' then -amount else amount end) as total 
FROM `cash_book` 
WHERE AND `account_holder_id` =1 and `created_at` >= '2016-07-31 00:00:00'; 
関連する問題