有4张表:分别S表:供应商,包括SNO供应商代码,SNAME ,STATUS供应商状态,CITY
P表:零件表,包括PNO零件代码,PNAME零件名字,COLOR,WEIGHT
J表:工程项目表,包括JNO,JNAME,CITY
SPJ表,供应情况表,包括SNO,PNO,JNO,QTY(给某工程项目的数量)现要查询至少用了供应商S1所供应的全部零件的工程代号JNO,应该如何用SQL语句实现?

解决方案 »

  1.   

    是作业题- -##不知道如何下手,用exist判断下貌似也不对
      

  2.   

    select jno
    from spj
    group by sno
    having pno in
    (select distinct pno
    from spj
    where sno = 's1')  好像不对!
    可能给你一点启发,自己再看看。                                 
      

  3.   

    最后我分了2步走先查询S1供应商的零件号SELECT DIST PNO FROM SPJ WHERE SNO='S1'
    然后查询工程SELECT JNO FROM SPJ WHERE PNO='P1' 
    AND JNO IN (SELECT JNO FROM SPJ WHERE PNO='P2')