WHERE (NOT (dbo.RdRecords.cDefine22 IS NULL))
改为:WHERE  (dbo.RdRecords.cDefine22 IS NOT  NULL)

解决方案 »

  1.   

    对cDefine22 建立索引,还有外连接也建立索引,where 改为
    WHERE (dbo.RdRecords.cDefine22 IS NOT NULL)
      

  2.   

    where 改为WHERE (dbo.RdRecords.cDefine22 IS NOT NULL)后试试,不行可以尝试楼主加一下索引
      

  3.   

    WHERE  (dbo.RdRecords.cDefine22 IS NOT  NULL)可以吗?试试看!
      

  4.   

    以上方法都没有效果,关键是我不加where,速度非常快,没有任何问题!
      

  5.   

    试试这个:
    SELECT Bw_SaleQuery_SNList_OK.*, A.cDefine22 AS 发往地
    FROM dbo.Bw_BarCode_Vouchlist LEFT OUTER JOIN
          (select * from dbo.RdRecords where dbo.RdRecords.cDefine22 is not null) A  ON dbo.Bw_BarCode_Vouchlist.RdID = A.ID AND 
          dbo.Bw_BarCode_Vouchlist.RdsID = A.AutoID RIGHT OUTER JOIN
          dbo.Bw_SaleQuery_SNList_OK INNER JOIN
          dbo.Bw_BarCode_SnList ON 
          dbo.Bw_SaleQuery_SNList_OK.存货编码 = dbo.Bw_BarCode_SnList.cInvCode AND 
          dbo.Bw_SaleQuery_SNList_OK.序列号 = dbo.Bw_BarCode_SnList.cInvSN ON 
          dbo.Bw_BarCode_Vouchlist.SnID = dbo.Bw_BarCode_SnList.ID AND 
          dbo.Bw_BarCode_Vouchlist.I_ID = dbo.Bw_BarCode_SnList.VouchID
      

  6.   

    如果不加where,速度非常快,那么加上条件应该更快,我想上面的方法总有一种可以解决,如果都不行那就见鬼了