2013-10-15 1 views
1

Это мой запросOracle недостающие скобки ошибка

SELECT S.sid, 
      S.sname, 
      M.major 
FROM Student S, 
    Major M 
    WHERE NOT EXISTS(
       (SELECT C.cno 
       FROM Courses C 
       WHERE S.sid = M.sid 
        AND M.dname = C.dname) EXCEPT 
       (SELECT E.cno 
       FROM Enroll E 
       WHERE S.sid = M.sid 
        AND S.sid = E.sid 
        AND M.dname=E.dname)) 

Почему я получаю Invalid SQL: ORA-00907: недостающую правую скобку ошибку, когда они выстраиваются в очередь?

+1

'EXCEPT' в смысле? вы можете использовать предложение MINUS, если я прав – ajmalmhd04

ответ

3

EXCEPT приведен SQLServer п и в оракула MINUS используется для того же: Попробуйте это:

SELECT S.sid, 
    S.sname, 
    M.major 
FROM Student S, 
    Major M 
WHERE NOT EXISTS(
    (SELECT C.cno FROM Courses C WHERE S.sid = M.sid AND M.dname = C.dname 
    ) 
MINUS 
    (SELECT E.cno 
    FROM Enroll E 
    WHERE S.sid = M.sid 
     AND s.sid = e.sid 
     and m.dname=e.dname 
    )); 

 Смежные вопросы

  • Нет связанных вопросов^_^