Declare cur6 cursor for select FBillNo,FItemName,Fauxqty,FStockQty,fcommitqty,fmrpclosed,FCancellation from vwICBill_32 where FItemLongNumber = @FNumber Open cur6                                 
  Fetch next from cur6 into @FICMOBillNo,@cpmc,@FAuxQty,@FStockQty,@fcommitqty,@fmrpclosed,@FCancellation     While @@fetch_status=0 
      Begin
      IF @FAuxQty Is Null
     Set @FAuxQty = 0
      IF @FStockQty Is Null
     Set @FStockQty = 0
                                      if @fcommitqty is null
                                             Set @fcommitqty = 0 
     select @FCancellation=FCancellation, @fmrpclosed=fmrpclosed,@xszd6 = FCheckDate,@FAuxQty=FAuxQty,@fcommitqty=fcommitqty from  vwICBill_32 where  FBillNo = @FICMOBillNo                         IF  not(@FCancellation = 'y' or  (@fmrpclosed='y' and @FAuxQty-@fcommitqty>'0')) ----此语句应该怎么写才能排除掉里面的条件后再执行以下语句                         Begin
                         Set @ZYQty = @FAuxQty - @FStockQty  
  IF @ZYQty > 0 
  Begin  
  Insert #gs(显示字段1,显示字段2,显示字段3,单据编号,数量,基本单位,产品编码,产品名称,备注,生产任务制单日期) 
   Select '销售订单','','',@FICMOBillNo,@ZYQty,@UnitName,@FNumber,@cpmc,'销售订单已占用量',@xszd6
  
                                      Set @Qlsl = @Qlsl - @ZYQty  
                                      Set @ZYQtyXj = @ZYQtyXj + @ZYQty
     End
      End
      Set @FBaseQty = 0
      Set @FStockQty = 0
      Fetch next from cur6 into @FICMOBillNo,@cpmc,@FAuxQty,@FStockQty,@fcommitqty,@fmrpclosed,@FCancellation
  End      Close cur6

解决方案 »

  1.   

    明白楼主的意思了
    放在else里不就行了if (@fcancellation = 'y' or  (@fmrpclosed='y' and @fauxqty-@fcommitqty>'0')) 
    ----此语句应该怎么写才能排除掉里面的条件后再执行以下语句                       
    begin 
     
    end
    else
    begin
      set @zyqty = @fauxqty - @fstockqty 
    end
      

  2.   


    原来,条件是没问题的,应该在这个中的WHERE 再增加一个条件FItemLongNumber = @FNumber 就没问题了,搞了我几天,谢谢大家了
    select @FCancellation=FCancellation, @fmrpclosed=fmrpclosed,@xszd6 = FCheckDate,@FAuxQty=FAuxQty,@fcommitqty=fcommitqty from  vwICBill_32 where  FBillNo = @FICMOBillNo 
      

  3.   

    if (@FCancellation = 'N' and (@fmrpclosed = 'N' or @FAuxQty- @fcommitqty < '0'))