不要用not in
用 
...
AND NOT exists
 (SELECT 1
 FROM W_MGoodsLocation
 WHERE W_MGoodsLocation.DCCode = ‘gstrDCCode '
 AND W_MGoodsLocation.ConsignorCode ='strConC' 
 and W_MGoodsLocation.DCGoodsCode = C_MGoods.DCGoodsCode )

解决方案 »

  1.   

    not in比较慢,建议使用外连接SELECT  C_MGoods.DCGoodsCode,C_MGoods.GoodsPShortName, C_MGoods.LoginDate
     FROM C_MGoods,W_MGoodsLocation
     WHERE C_MGoods.ConsignorCode ='strConC' 
     AND W_MGoodsLocation.ConsignorCode ='strConC'
     AND W_MGoodsLocation.ConsignorCode ='strConC'
     AND C_MGoods.DCGoodsCode = W_MGoodsLocation.DCGoodsCode(+)
     AND W_MGoodsLocation.DCGoodsCode is null
     W_MGoodsLocation.DCCode = ‘gstrDCCode '
     ORDER BY C_MGoods.DCGoodsCode