因历史原因,导入资料时漏写了一个表。导致fa_total的某些字段计算不准。出现对账不平的情况,一定要查清原因,再针对具体情况写计算语句,网上很多对账不平的例子都不能通用。
U8前台的对账工具除了计算fa_total表外,还会合计折旧表,卡片明细表等等。
insert into fa_total select FG.sDeptNum as sDeptNum, FG.sTypeNum as sTypeNum, 1, COUNT(CASE WHEN sOrgDisposeID NOT LIKE '2%' OR sOrgDisposeID IS NULL THEN FF.sCardNum END) as lMonthCount,COUNT(CASE WHEN sOrgDisposeID NOT LIKE '2%' OR sOrgDisposeID IS NULL THEN FF.sCardNum END) aslCount ,sum(case when (FG.sOrgDisposeID NOT like '2%' OR FG.sOrgDisposeID IS NULL) then FF.dblPeriodValue else 0 end ) as dblYearValue,sum(dblPeriodDeprTotal) as dblYearDeprTotal,sum(CASE WHEN FF.dblDepr0 <> 0 AND (FG.sOrgDisposeID NOT like '2%' OR sOrgDisposeID IS NULL) THEN (FF.dblMonthValue) ELSE 0 END) as dblLastAccrualValue, sum(CASE WHEN FG.sOrgDisposeID NOT like '2%' OR sOrgDisposeID IS NULL THEN dbldepr0 ELSE 0 END) as dblLastDepr,sum(case when (FG.sOrgDisposeID NOT like '2%' OR sOrgDisposeID IS NULL) and FG.dStartdate >= '2016-12-1' and FG.dStartdate <= '2016-12-31' then FF.dblMonthValue1 else 0 end ) as dblLastAddValue,sum(case when FG.sOrgDisposeID like '2%' and ((FG.dTransDate >= '2016-12-1' and FG.dTransDate <= '2016-12-31') or (FG.dDisposeDate >= '2016-12-1' and FG.dDisposeDate <= '2016-12-31')) then dblValue else 0 end) as dblLastDecValue,0,0,0,0,ISNULL(sum(dblMonthValue1),0) as dblMonthValue,sum(FF.dblMonthValue1) as dblValue,ISNULL(sum(dblMonthDeprTotal),0) as dblMonthDeprTotal,ISNULL(sum(dblDeprT1),0) as dblDeprTotal,0,0 ,0 ,0,0,0 ,2017
from TempCardid580 FH left join fa_Cards FG on FH.sCardID = FG.sCardID INNER JOIN fa_DeprTransactions FF ON FF.sCardNum = FH.sCardNum
where FG.sCardNum in (select FG.sCardNum from TempCardid580)
group by FG.sDeptNum,FG.sTypeNum,FF.iyear
order by FG.sDeptNum```
网友评论