2016-09-23 64 views
0

我试图使用总帐数据进行试算表,试算表的结果可以从上次计算的借方贷方科目名称中得出,然后按基于每个帐户名从计算得到的最后一个数据查询和分组由

总帐: 卡斯:

Account | Debet | KRedit | Saldo 
kas   1000  0  1000 
kas   200  0  1200 
kas   0   250  950 

银行:

Account | Debet | KRedit | Saldo 
bank  2000  0  2000 
bank   200  0  2200 
bank   0   500  1700 

售:

Account | Debet | KRedit | Saldo 
Sale   0  2000  -2000 
Sale   0  500  -2500 
Sale   0  500  -3000 

结果:

Account | Debet | KRedit |  
    Kas  950  0  
    bank  1700  0  
    sale  0  3000  

有我的代码:

SELECT nama_perkiraan,kredit,debet,max(@s:[email protected]+debet-kredit) as saldo FROM `tbl_jurnal_umum` LEFT JOIN (SELECT @s:=0) as `setVar` ON 1=1 GROUP by nama_perkiraan 

感谢

回答

0
sselect s.account, 
     case when s.saldo > 0 then s.saldo else 0 end as debet , 
     case when s.saldo < 0 then s.saldo * -1 else 0 end as kredit 
from 
(
select account, 
     sum(case when debet <> 0 then debet else kredit * -1 end) saldo 
from generalledger 
group by account 
) s 
where s.saldo <> 0 
order by 
case when s.account = 'kas' then 1 
     when s.account = 'bank' then 2 
     else 3 
end 
相关问题