每月小计然后合计。然后加入一条新数据 ,外购入库单金额除以总的外购入库单金额,求大神解答

简单不搭 2018-03-28 03:25:37
create table #tempbo
(
id nvarchar(255) ,
Fdate varchar(20),
FMonth varchar(20),
FName nvarchar(255),
fqty decimal(28,10),
Famount decimal(28,10)
)


INSERT INTO #tempbo
select '外购入库单' AS 数据类型,year(FDate)年,month(FDate)月,t.FName 物料名称 ,SUM(b.fqty) 总数量,isnull(SUM(b.Famount*1.17),0) 含税金额
from ICStockBill a join ICStockBillEntry b on a.finterid=b.finterid join t_ICItem t on t.FItemID=b.FItemID
where a.Fstatus in (1,2,3) and a.FROB=1 and a.FTranType=1 and a.fdate>='2018-01-01' and (t.FNumber like '%13.%' or t.FNumber like '%21.%')
GROUP BY FName,FDate


INSERT INTO #tempbo
select '外购退料单' AS 数据类型,year(FDate)年,month(FDate)月,t.FName 物料名称,SUM(0-b.fqty) 总数量,isnull(SUM(0-b.Famount*1.17),0) 含税总金额
from ICStockBill a join ICStockBillEntry b on a.finterid=b.finterid join t_ICItem t on t.FItemID=b.FItemID where
a.Fstatus in (1,2,3) and a.FROB=-1 and a.FTranType=1 and a.fdate>='2018-01-01' and (t.FNumber like '%13.%' or t.FNumber like '%21.%')
GROUP BY FName,FDate

select * into #temp0 from(
select fdate,Fmonth,FName
,sum(case when id='外购退料单' then fqty else 0 end) as 外购退料单数量
,sum(case when id='外购退料单' then Famount else 0 end) as 外购退料单金额
, sum(case when id='外购入库单' then fqty else 0 end) as 外购入库单数量
, sum(case when id='外购入库单' then Famount else 0 end) as 外购入库单金额
from #tempbo
GROUP BY id,Fdate,FMonth,FName )a

select * from #temp0

select * into #temp00 from(
select fdate,FMonth,FName
,CEILING(sum(外购退料单数量)) 外购退料单数量
,round(sum(外购退料单金额),2) 外购退料单金额
,CEILING(sum(外购入库单数量)) 外购入库单数量
,round(sum(外购入库单金额),2) 外购入库单金额
from #temp0 GROUP BY Fdate,FMonth,FName)a



select fdate 年,Fmonth 月,fname 物料名称,外购退料单数量,外购入库单数量,

case when 外购入库单金额=0 then 0 when 外购入库单数量=0 then 0 else 外购入库单金额/外购入库单数量 end

平均单价,外购退料单金额,外购入库单金额,

case when 外购入库单金额-外购退料单金额=0 then 0 else 外购入库单金额-外购退料单金额 end 外购材料净额

--,外购退料单金额/外购退料单金额 比率

,case when 外购退料单金额=0 then 0 when 外购入库单金额=0

then 0 else 外购退料单金额/外购入库单金额 end 退货比率,

from #temp00 group by fdate ,Fmonth ,fname,外购退料单数量,外购入库单数量,外购入库单金额,外购退料单金额






可以每月合计了,但是外购入库单金额/sum(外购入库单金额) 就是不对
...全文
758 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
简单不搭 2018-03-29
  • 打赏
  • 举报
回复
不用了,我 自己琢磨出来了
peng2739956 2018-03-28
  • 打赏
  • 举报
回复
测试数据 不贴就贴个图, 没人愿意手动去写测试数据 太麻烦
1、已经删除了据对应凭证,但修改据仍提示“编号为XXX的据已经记账,请先删除对应的凭证!” 适用据类型:销售出库/其他出库/销售发票(全部)/委外加工出库/其他入库/外购入库/产品入库 /委外加工入库/盘盈入库/生产领料/盘亏毁损/采购发票(全部)/现金日记账/银行存款日记账。 2、已经删除了据的所有下游据,但修改该据仍提示“编号为XXX的据已被其他据关联。不能修改该据!” 适用据类型:销售合同/销售订/销售出库/其他出库/委外加工出库/虚仓出库/销售发票(全部) /采购合同/采购订/外购入库/委外加工入库/其他入库/盘盈入库/虚仓入库/产品入库 /生产领料/采购发票(全部)/盘亏毁损 3、删除了对应的下游据,但重下推该类据提示“没有符合条件的记录!” 适用情况:A、销售出库下推销售发票提示“没有符合条件的记录” B、外购入库下推采购发票提示“没有符合条件的记录” C、删除生产领料后,生产投料上的实发数量没有扣减 D、销售订下推销售出库提示“没有符合条件的记录” E、付款申请下推付款提示“已经扣减完毕或不符合下推条件” 4、已经删除了对应的凭证,但删除出入库的凭证仍提示“原业务据已经生成XXX凭证,不能删除” 适用情况:A、删除销售出库凭证报错“原业务据已经生成销售收入凭证, 不能删除!” B、删除委外加工入库暂估凭证或外购入库暂估凭证报错“原业务 据已经生成暂估冲回凭证,不能删除!” 适用的K/3版本:11.0及以后版本

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧