T-SQL在ERP系统中协调Bin Qty

时间:2015-12-15 21:24:20

标签: sql-server compare

我的任务是提出一种方法,在我公司的物理库存之前自动识别库存转移。 我一直试图看看我是否可以使用SQL来解决这个问题。它更容易显示我想要完成的事情然后解释所以.. 以下是一些示例数据,您可以使用它来查看我要创建的内容。第三个表需要转移,仅供参考,因为我想要一个声明,以这种格式从两个表中吐出信息

IF OBJECT_ID('tempdb..#Adjustments_in') IS NOT NULL
DROP TABLE #Adjustments_in;

IF OBJECT_ID('tempdb..#Adjustments_out') IS NOT NULL
DROP TABLE #Adjustments_out;

IF OBJECT_ID('tempdb..#TransfersNeeded') IS NOT NULL
DROP TABLE #TransfersNeeded; 

CREATE TABLE #Adjustments_in
(
  ItemNumber VARCHAR(20) ,
  Bin VARCHAR(10) ,
  GPQty INT ,
  CountedQty INT ,
  AdjustmentQty INT
);

INSERT  INTO #Adjustments_in
    ( ItemNumber ,
      Bin ,
      GPQty ,
      CountedQty ,
      AdjustmentQty
    )
 VALUES  ( '850-001-003' , -- ItemNumber - varchar(20)
      'Rework' , -- Bin - varchar(10)
      0 , -- GPQty - int
      50 , -- CountedQty - int
      50  -- AdjustmentQty - int
    );

CREATE TABLE #Adjustments_out
(
  ItemNumber VARCHAR(20) ,
  Bin VARCHAR(10) ,
  GPQty INT ,
  CountedQty INT ,
  AdjustmentQty INT
);
INSERT  INTO #Adjustments_out
    ( ItemNumber ,
      Bin ,
      GPQty ,
      CountedQty ,
      AdjustmentQty
    )
VALUES  ( '850-001-003' , -- ItemNumber - varchar(20)
      '10.01.02' , -- Bin - varchar(10)
      25 , -- GPQty - int
      0 , -- CountedQty - int
      25  -- AdjustmentQty - int
    );

INSERT  INTO #Adjustments_out
    ( ItemNumber ,
      Bin ,
      GPQty ,
      CountedQty ,
      AdjustmentQty
    )
VALUES  ( '850-001-003' , -- ItemNumber - varchar(20)
      '14.01.12' , -- Bin - varchar(10)
      25 , -- GPQty - int
      0 , -- CountedQty - int
      25  -- AdjustmentQty - int
    );



CREATE TABLE #TransfersNeeded
(
  ItemNumber VARCHAR(20) ,
  FromBin VARCHAR(10) ,
  ToBin VARCHAR(10) ,
  Qty INT
 );


INSERT  INTO #TransfersNeeded
    ( ItemNumber ,
      FromBin ,
      ToBin ,
      Qty
    )
VALUES  ( '850-001-003' , -- ItemNumber - varchar(20)
      '10.01.02' , -- FromBin - varchar(10)
      'Rework' , -- ToBin - varchar(10)
      25  -- Qty - int
    ); 

INSERT  INTO #TransfersNeeded
    ( ItemNumber ,
      FromBin ,
      ToBin ,
      Qty
    )
VALUES  ( '850-001-003' , -- ItemNumber - varchar(20)
      '14.01.12' , -- FromBin - varchar(10)
      'Rework' , -- ToBin - varchar(10)
      25  -- Qty - int
    ); 


SELECT  *
FROM    #Adjustments_in;
SELECT  *
FROM    #Adjustments_out;
SELECT  *
FROM    #TransfersNeeded;

在查看Adjustments_in的位置并将其与Adjustments_out进行比较,然后协调三个分档 由于该公司将调整IN数量为50的“返工”箱,并从多个箱中调整OUT总和50。我们要做的是确定可以进行BIN到BIN转移的项目,以防止对同一项目产生任何财务影响,然后再返回。目前这个过程是通过Excel逐行手动完成的。这是非常耗时的,并且容易出现人为错误 我可以使用这两个表之间的1:1关系而不是1:N或N:1如果SQL可以做到这一点,任何人都有一个想法吗?

0 个答案:

没有答案