$sql = "select /*column:dailyin,dailyout,dailybalance*/,
round(case when dailyinout=1 then dailysum else 0 end,2) as dailyin,
round(case when dailyinout=-1 then dailysum else 0 end,2) as dailyout,
(select round(sum(dailysum*dailyinout),2) from !daily t2 where ifnull(t2.dailystatus,0)=1 and ifnull(t2.dailycheck,'')<>'' and (t2.dailysyskind='流水帐' or t2.dailysyskind='借支' or t2.dailysyskind='付款') and t2.dailyaccount=t1.dailyaccount and t2.dailycurrency=t1.dailycurrency and ((t2.dailyrealdate<t1.dailyrealdate) or (t2.dailyrealdate=t1.dailyrealdate and (t2.dailyindex+ifnull(t2.dailyorder,0)) <=(t1.dailyindex+ifnull(t1.dailyorder,0)) ))) as dailybalance
from !daily t1 where (t1.dailysyskind='流水帐' or t1.dailysyskind='借支' or t1.dailysyskind='付款') " . $filter . " /*filter*/ order by dailyrealdate,(dailyindex+ifnull(dailyorder,0))"; 最佳答案