• 存货核算中的加权平均


    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

  • 相关阅读:
    一封致想学J2EE的新手的回信
    C#窗体文件与HTML文本文件的相似之处
    Java 文件 获取图片文件的类型
    java 文件 目录和文件的新建、删除、复制、剪切
    java zip递归压缩解压代码
    css + div + js 制作HTML tab control
    使用命令行查看端口与进程
    浅谈php用户身份认证(四)
    日历显示程序
    php中的网页重定向――原创
  • 原文地址:https://www.cnblogs.com/Bruce_H21/p/839987.html
Copyright © 2020-2023  润新知