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';
问问题
58 次
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 回答