2014-11-01 8 views
0
CREATE PROCEDURE M_SelectStockIN 
    @FarmID int, 
    @ItemName varchar(50), 
    @InType varchar(5) 
AS 
    /* SET NOCOUNT ON */ 
    select 
     (sum((m.Item_Qty)) - sum(d.Use_Qty)) As InStock, 
     sum(d.Use_Qty) as total 
    from 
     MoryaSales m 
    inner join 
     DailyFarmEntry d on m.batchID = d.FarmID 
    where 
     m.batchID = @FarmID 
     and d.FarmID = @FarmID 
     and m.Tr_Type = @InType 
     and d.In_Type = @InType 
     and m.Item_Name = @ItemName 
     and d.ItemName = @ItemName 

    RETURN 

의 뺄셈 값을 얻기 위해 어떻게 내 요구 사항은 내가 마이너스 d.Use_Qty은 두 테이블 합 열

+0

일부 샘플 데이터보기 ?? 문제가 어디 있니? –

+0

절차의 기능입니다. 모든 것을 판단하도록하십시오. 또한 어떤 문제에서 문제가 발생합니까? – Ajay2707

답변

0

m.Item_Qty 내에서 확인이 원하는 것입니다. 당신이 당신의 이해를위한 샘플입니다

CREATE PROCEDURE M_SelectStockIN 
    @FarmID int, 
    @ItemName varchar(50), 
    @InType varchar(5) 
AS 
BEGIN   
/* SET NOCOUNT ON */ 
     select (sum((m.Item_Qty)) - total) As InStock, 
     * 
     from 
     (
      select 
       --you can add "batchID, tr_type" field to understand more. 
       --(sum((m.Item_Qty)) - sum(d.Use_Qty)) As InStock, 
       sum(d.Use_Qty) as total 
      from 
       MoryaSales m 
      inner join 
       DailyFarmEntry d on m.batchID = d.FarmID 
      where 
       m.batchID = @FarmID 
       and d.FarmID = @FarmID 
       and m.Tr_Type = @InType 
       and d.In_Type = @InType 
       and m.Item_Name = @ItemName 
       and d.ItemName = @ItemName 
     ) a 
END 

업데이트으로 그룹을 추가 할 수 있습니다.

declare @item table(id int IDENTITY(1,1) NOT NULL, name varchar(50), item_qty int) 
    declare @DailyFarmEntry table(id int IDENTITY(1,1) NOT NULL, itemid int, Use_Qty int) 


    insert into @item values ('a',10),('b', 20),('c', 30),('d', 40),('e', 50)--, ('a',10) 
    insert into @DailyFarmEntry values (1,2),(2, 4),(3,6),(4,8),(1,3) 

    select * from @item i 
    inner join @DailyFarmEntry df on i.id = df.itemid 

    --create procedure 
    --(
    declare @itemid int = 1 
    --) 
    --as 
    select 
     name, 
     SUM(i.item_qty) as total_qty, 
     SUM(df.Use_Qty) as used_total_qty, 
     SUM(i.item_qty) - SUM(df.Use_Qty) as remain_qty 
    from 
     @item i 
    inner join @DailyFarmEntry df on i.id = df.itemid 
    --and itemid = @itemid 
    group by name 
+0

외부 쿼리에서 내부 쿼리의 별칭 이름을 사용하여 데이터를 가져올 수 있습니까? –