数据集合一
select goodsid from bsgoods
有全部的id
 数据集合二
Select GoodsID From 
(Select Distinct GoodsID from InvAccStock where SheetType='进货') a
union
Select GoodsID From 
        (Select Distinct GoodsID from InvAccStock where SheetType like '%销售%') b中的goodsid 有部分的id我想查询数据集合一中不包含数据集合二的goodsid,要如何查询?          
   

解决方案 »

  1.   

    select goodsid from bsgoods where goodsid not in(Select GoodsID From 
    (Select Distinct GoodsID from InvAccStock where SheetType='进货') a 
    union 
    Select GoodsID From 
            (Select Distinct GoodsID from InvAccStock where SheetType like '%销售%') b 
    )
      

  2.   

    数据集合一 
    select goodsid from bsgoods 
    有全部的id 
    数据集合二 
    Select GoodsID From 
    (Select Distinct GoodsID from InvAccStock where SheetType='进货') a 
    union 
    Select GoodsID From 
            (Select Distinct GoodsID from InvAccStock where SheetType like '%销售%') b --EXCEPT
    select goodsid from bsgoods 
    EXCEPT
    Select GoodsID From 
    (Select Distinct GoodsID from InvAccStock where SheetType='进货') a 
    union 
    Select GoodsID From 
            (Select Distinct GoodsID from InvAccStock where SheetType like '%销售%') b 
      

  3.   

    集合一 
    except
    集合二
      

  4.   

    select goodsid from bsgoods where goodsid not in(select goodsid from InvAccStock where sheetType='进货' OR SheetType like '%销售%')
      

  5.   

    集合一 
    except 
    集合二select goodsid from bsgoods 
    EXCEPT 
    Select GoodsID From 
    (Select Distinct GoodsID from InvAccStock where SheetType='进货') a 
    union 
    Select GoodsID From 
            (Select Distinct GoodsID from InvAccStock where SheetType like '%销售%') b
      

  6.   

    其实好简单,只是自己的脑子转不过来,呵呵,谢谢,第一个回复测试成功了,用EXCEPT的提示出错,所以分加给 wufeng4552