1
set @total_balance=0;
select total_balance=if(a.transaction_type='+c') then total_balance=total_balance+a.tran_amount
else if(a.transaction_type='-p'or '-r') then total_balance=total_balance-a.tran_amount
END
from lib_user_account a
where employee_Id='1004';
4

2 回答 2

2
SUM(IF(a.transaction_type='+c', a.tran_amount, -a.tran_amount))
于 2013-04-03T04:22:08.543 回答
1

正如 zerkms 所提到的,最好在查询中使用 sum 函数,但是要回答有关如何在 MYSQL 中使用用户定义变量的问题,您可以在查询中以下列方式使用它

select 
  @total_balance:=if(a.transaction_type='+c', @total_balance+a.tran_amount, if(a.transaction_type='-p' or a.transaction_type='-r', @total_balance-a.tran_amount, a.tran_amount))
from 
  lib_user_account a
join 
  (select @total_balance:=0) userVar
where 
  employee_Id='1004';

有关用户定义变量的更多信息,请参阅

于 2013-04-03T04:35:46.137 回答