加上:
where isnull(PH,'')<>''

解决方案 »

  1.   

    這是因為你用cursor的原因.你把油標過程中值存放到一個臨時表裡面.讓後再讀取臨時表裡面的值就沒有空行了
      

  2.   

    在什么具体位置加上where isnull(PH,'')<>''
    对不起我是菜鸟,请详细解释一下好不好。还有问下小三,存入临时表如何操作.
      

  3.   

    create table #temp(datafield varchar(10)....)
    後面select帶的欄位.select 'PH','A','SCMC','1','01',cast(@pu_no as int),'P',substring(cast(DEL_DATE as varchar(8)),3,2)+'-'+substring(cast(DEL_DATE as varchar(8)),5,2)+'-'+substring(cast(DEL_DATE as varchar(8)),7,2),
    '','','','','','','','P','R',SUPP_CODE,'',''
    into #temp --insert into Temp table
    from SPMFORDSDG where ltrim(rtrim(ORDER_REF))=@pu_no
    select 'PL','A',a.ITEM_CODE,'',@fac,@ware,'SCMC',substring(b.UNIT_STOCK,1,2),a.PURCH_QTY,''
    into #temp --insert into Temp table
    from SPMFDETSDG a, SSRFITM b where ltrim(rtrim(a.TRANS_REF))=@pu_no and b.SUN_DB='SDG' and b.ITEM_CODE=a.ITEM_CODE最後再select * from #temp就可以了
      

  4.   

    小三,我按照你的指示进行操作,碰到了以下问题,你能再帮我看下么?
    script
    :
    CREATE proc Inf_forewms_import
    as
    begin
    declare purchase_ord cursor for select rtrim(ltrim(ORDER_REF))
    from SPMFORDSDG
     open purchase_ord
     while @@fetch_status=0
      begin
       SET NOCOUNT on
       declare @pu_no varchar(6), @fac varchar(1), @ware varchar(2)
       fetch purchase_ord into @pu_no
       select  @fac=substring(LOCATION,1,1),
                                                            @ware=substring(LOCATION,2,2) from SPMFDETSDG where
                                                            ltrim(rtrim(TRANS_REF))=@pu_no
                                select 'PH','A','SCMC','1','01',cast(@pu_no as int),'P',
                                                                        substring(cast(DEL_DATE as varchar(8)),3,2)+'-'+substring(cast(DEL_DATE as varchar(8)),5,2)+'-'+substring(cast(DEL_DATE as varchar(8)),7,2),
                   '','','','','','','','P','R',SUPP_CODE,'',''
        from SPMFORDSDG where ltrim(rtrim(ORDER_REF))=@pu_no
       select 'PL','A',a.ITEM_CODE,'',@fac,@ware,'SCMC',substring(b.UNIT_STOCK,1,2),a.PURCH_QTY,''
          from SPMFDETSDG a, SSRFITM b
                                                             where ltrim(rtrim(a.TRANS_REF))=@pu_no and b.SUN_DB='SDG' and
                                                                        b.ITEM_CODE=a.ITEM_CODE
       end
       
       fetch next from purchase_ord    SET NOCOUNT off
       close purchase_ord
       deallocate purchase_ord
     
             select 'PH','A','SCMC','1','01',
                         cast(@pu_no as int),'P',substring(cast(DEL_DATE as varchar(8)),3,2)+'-'+substring(cast(DEL_DATE as varchar(8)),5,2)+'-'+substring(cast(DEL_DATE as varchar(8)),7,2),
           '','','','','','','','P','R',SUPP_CODE,'',''
                into #temp --insert into Temp table
              from SPMFORDSDG 
           where ltrim(rtrim(ORDER_REF))=@pu_no
            select   'PL','A',a.ITEM_CODE,'',@fac,@ware,'SCMC',substring(b.UNIT_STOCK,1,2),a.PURCH_QTY,''
                into     #temp1 --insert into Temp table
              from SPMFDETSDG a, SSRFITM b
            where ltrim(rtrim(a.TRANS_REF))=@pu_no and
                        b.SUN_DB='SDG' and b.ITEM_CODE=a.ITEM_CODE        select * from #temp1end
    GO出错信息:
     no column was specified for column 1 of "#temp"
    no column was specified for column 2 of "#temp"
    no column was specified for column 3 of "#temp"
    ....
    no column was specified for column 1 of "#temp1"
    no column was specified for column 2 of "#temp2"
    no column was specified for column 3 of "#temp3"