select g.FNumber, t_icitem.Fname as '物料名称',t_icitem.Fmodel as '规格',g.期初结存数量,g.单价1,
g.期初余额 ,g.本期收货数量,g.单价2,g.本期收入金额,g.本期发出数量,g.单价3,g.本期发出金额,g.期末结存数量,
g.单价4,g.期末余额 from
(select FYear as '会计年度',Fperiod as '会计期间',t.FNumber AS '物料代码',
sum(FBegQty) as '期初结存数量',(case when sum(FBegQty)='0' then 0
when sum(FBegQty)<>'0' then round((sum(FBegBal)/sum(FBegQty) ),4)
else null end) as 单价1,sum(FBegBal) as '期初余额',
sum(FReceive) as '本期收货数量',(case when sum(FReceive)='0' then 0
when sum(FReceive)<>'0' then round((sum(FDebit)/sum(FReceive)),4)
else null end)as 单价2 ,sum(FDebit) as'本期收入金额',
sum(FSend)as '本期发出数量',(case when sum(FSend)='0' then 0
when sum(FSend)<>'0' then round((sum(FCredit)/sum(FSend)),4)
else null end) as 单价3, sum(FCredit) as '本期发出金额',
sum(FEndQty) as '期末结存数量',(case when sum(FEndQty)='0' then 0
when sum(FEndQty)<>'0' then round((sum(FEndBal)/sum(FEndQty)),4)
else null end) as 单价4,sum(FEndBal) as '期末余额'
from icbal I inner join t_icitem t on I.FITEMID=T.FITEMID left join t_stock ts on ts.FItemID=I.FStockGroupID
where FYear='2014'and Fperiod='3'AND ts.fname like '漆包%'
group by FYear ,Fperiod,t.FNumber
)g , t_icitem where g.FNumber=t_icitem.FNumber
运行时老提示,请看附图

------解决方案--------------------
这样就不抱错,但是没环境,不知道结果是怎样的
SELECT g.物料代码 ,
t_icitem.Fname AS '物料名称' ,
t_icitem.Fmodel AS '规格' ,
g.期初结存数量 ,
g.单价1 ,
g.期初余额 ,
g.本期收货数量 ,
g.单价2 ,
g.本期收入金额 ,
g.本期发出数量 ,
g.单价3 ,
g.本期发出金额 ,
g.期末结存数量 ,
g.单价4 ,
g.期末余额
FROM ( SELECT FYear AS '会计年度' ,
Fperiod AS '会计期间' ,
t.FNumber AS '物料代码' ,
SUM(FBegQty) AS '期初结存数量' ,
( CASE WHEN SUM(FBegQty) = '0' THEN 0
WHEN SUM(FBegQty) <> '0'
THEN ROUND(( SUM(FBegBal) / SUM(FBegQty) ), 4)
ELSE NULL