zoukankan      html  css  js  c++  java
  • SQL statement for Unit conversion

    use Dynamics
    go
    
    --海关单位转库存单位
    
    ------------------------------------------
    --创建表及其相关字段
    drop table Jimmy_UnitConversionTest
    go
    CREATE TABLE Jimmy_UnitConversionTest
    (
    ItemId			varchar(41)		default('') not null,
    InventQty		decimal(24,4)	default(0)  not null,
    InventUnitid	varchar(10)		default('') not null,
    CSMQty			decimal(24,4)	default(0)  not null,
    CSMUnitId		varchar(10)		default('') not null,
    factor			decimal(24,12)  default(0)  not null
    )
    
    insert into Jimmy_UnitConversionTest(ItemId,InventQty)
    values('Col-1100',10)
    
    update a set InventUnitid = b.unitid  
    from Jimmy_UnitConversionTest a join InventTableModule b on a.itemid = b.itemid
    where b.moduletype = 0
    GO
    
    select * from Jimmy_UnitConversionTest where InventUnitid = '' 
    
    
    update a set a.factor = 1 
    from Jimmy_UnitConversionTest a
    where a.CSMUnitId = a.InventUnitid and factor = 0 
    GO
    
    select * from Jimmy_UnitConversionTest where factor = 0
    GO
    
    -- 更新与库存单位的换算
    update a set a.factor = b.factor 
    from Jimmy_UnitConversionTest a 
    join unitconvert b on a.itemid = b.itemid and a.CsmUnitId = b.fromunit and a.Inventunitid = b.tounit and a.factor = 0
    GO
    
    -- 反向更新
    update a set a.factor = 1 / b.factor 
    from Jimmy_UnitConversionTest a 
    join unitconvert b on a.itemid = b.itemid and a.CSMUnitId = b.tounit and a.Inventunitid = b.fromunit and a.factor = 0
    GO
    
    -- 系统不存在的换算率:           
    select * from Jimmy_UnitConversionTest where factor = 0
    go
    
    
    -- 找不到的直接用1做换算率
    
    update a set a.InventQty = case 
    		 when factor <> 0 then (1 / factor) * CSMQty
    		 when factor = 0  then (1 / 1) * CSMQty end
    from Jimmy_UnitConversionTest a
    GO
    
  • 相关阅读:
    P4611 [COCI2011-2012#7] TRAMPOLIN
    P3119 [USACO15JAN]草鉴定Grass Cownoisseur
    P4417 [COCI2006-2007#2] STOL
    P4645 [COCI2006-2007 Contest#3] BICIKLI
    P1155 双栈排序
    P4610 [COCI2011-2012#7] KAMPANJA
    P4329 [COCI2006-2007#1] Bond
    EZOJ #227
    EZOJ #226
    p4980 polya定理
  • 原文地址:https://www.cnblogs.com/Fandyx/p/1905101.html
Copyright © 2011-2022 走看看