select distinct p.产品编号,p.产品名称 from cp p,ck k
where p.产品编号=k.产品编号
and k.库房='2'
and not exists (
seelct * from ck 
where 产品编号=k.产品编号
and 库房='1'
)

解决方案 »

  1.   


    select * from ck where 库房=库房2 and 产品编号 not in(
    select 产品编号  from ck where 库房=库房1)
      

  2.   

    select ck.产品编号, 产品名称 from ck ,CP where 库房=库房2 and 产品编号 not in(
    select ck .品编号  from ck where 库房=库房1) and cp.产品编号 =ck.产品编号
      

  3.   

    SELECT A.产品编号,A.产品名称
    FROM CP A INNER JOIN
         (SELECT DISTINCT A.产品编号 FROM CK A INNER JOIN  CK B ON A.产品编号=B.产品编号 AND A.库房=库房1 AND B.库房=库房2 AND A.库房数量=0 AND B.库房数量>0) B ON A.产品编号=B.产品编号
      

  4.   

    你的同一库房中,产品纪录是不是可以重复?
    如果是 应该这样写SELECT A.产品编号,A.产品名称
    FROM CP A INNER JOIN
         (SELECT DISTINCT A.产品编号 FROM CK A INNER JOIN  CK B ON A.产品编号=B.产品编号 AND A.库房=库房1 AND B.库房=库房2 GROUP BY A.产品编号 HAVING SUM(A.库房数量)=0 AND SUM(B.库房数量)>0) B ON A.产品编号=B.产品编号