zoukankan      html  css  js  c++  java
  • 存货核算中的加权平均

    SET QUOTED_IDENTIFIER ON 
    GO
    SET ANSI_NULLS ON 
    GO

    ALTER  proc CaculateProfit_JiaQuanPingJun

    as

    --加权平均
    --
    创建虚拟表
    --
    1.计算出所有的进货成本

    /*
       drop table #tbl
       drop table #tbl2
    */



    declare     @期初数量 int,
            
    @期初单价 decimal(12,4)
            
            
    set @期初数量=20
            
    set @期初单价=200.00


    declare     @入库总数量 int,
            
    @入库总成本 decimal(12,4),
            
    @入库成本单价 decimal(12,4)
            
            
    set @入库总数量=0
            
    set @入库总成本=0
            
    set @入库成本单价=0
            
            
    select @入库总数量=sum(isnull(inputNum,0)),
                
    @入库总成本=sum(isnull(inputNum,0)*isnull(inputPrice,0))
                
    from dbo.InvertoryAccouter
            
    --计算出成本单价
            select @入库成本单价 = @入库总成本/@入库总数量


    create table #tbl(IODate  datetime default(getdate()),
                InputNum 
    int,
                InputUnitPrice 
    decimal(12,4),
                OutputNum 
    int,
                CostUnitPrice 
    decimal(12,4),
                SalesUnitPrice 
    decimal(12,4),
                Profit 
    decimal(12,4))


    select IODate,
        inputNum,
        inputPrice,
        outputNum,
        SalesPrice,
        
    case when (outputNum is not null 
                    
    and 
                    SalesPrice 
    is not null)
                
    then @入库成本单价
            
    else
                 
    null
            
        
    end CostUnitPrice
        
    into #tbl2
            
    from dbo.InvertoryAccouter
            
    order by IODate asc



    insert into #tbl
        (IODate,InputNum,InputUnitPrice,
        
    --InputCost,
        OutputNum,SalesUnitPrice,CostUnitPrice)

    select '2001-01-31 23:59:59',
        
    @期初数量,
        
    @期初单价,
        
    null,
        
    null,
        
    null
        
        
    union all
    select * 
        
    from #tbl2
        
    --select * from #tbl


    select   SUM(isnull(OutputNum,0)*
            (
    isnull(SalesUnitPrice,0)-isnull(CostUnitPrice,0)))
        
    from #tbl







    GO
    SET QUOTED_IDENTIFIER OFF 
    GO
    SET ANSI_NULLS ON 
    GO

  • 相关阅读:
    【转载】Java系列笔记(3)
    CentOS 7下Samba服务器的安装与配置
    Linux常用目录结构
    Linux计划任务crontab
    转:Linux 双网卡配置两个IP同时只有一个会通的原因
    centos7中搭建ntp服务器
    centos7中使用vg方式扩充root分区
    ping命令脚本实现显示网络状态、学生姓名、学号
    centos中基于随机数,再加入班级学生姓名
    centos7 shell脚本实现随机数
  • 原文地址:https://www.cnblogs.com/Bruce_H21/p/839987.html
Copyright © 2011-2022 走看看