sql

零件(编号,名称,颜色,生产车间号) 
车间(编号,名称,人数,主任)
产品(编号,名称,车间编号)
使用(产品编号,使用零件编号,个数)

查询没有被任何产品使用的和只有一个产品使用的零件。
不用考虑表中的内容。只写出语句就可以。我写的是
select   使用.产品编号, 使用.使用零件编号,使用.个数 from 使用,零件
where 使用.使用零件编号=零件.编号  
group by 使用.产品编号, 使用.使用零件编号,使用.个数
having  count(使用.使用零件编号)=1不知道对不对

解决方案 »

  1.   

    select 使用.产品编号, 使用.使用零件编号,使用.个数
    from 零件 left outer join  使用 on 使用.使用零件编号=零件.编号 
    where nvl(使用.个数,0)<2
      

  2.   

    SELECT 编号,名称,颜色,生产车间号
    FROM 零件
    WHERE 编号 IN
    (SELECT 零件.编号
    FROM 零件,使用
    WHERE 零件.编号=使用.使用零件编号(+)
    GROUP BY 零件.编号
    HAVING COUNT(使用.产品编号)<2
    );用类似的关系表实验过,应该没有问题;