2013-03-16 15 views
9

Próbuję użyć słowa kluczowego EXCEPT w Oracle 10.1.0.2.0, ale ciągle otrzymuję komunikat "Nieznane polecenie". Próbowałem googlować, a ktoś powiedział, że słowo kluczowe to MINUS, więc zamiast tego użyłem MINUSa, ale wciąż mam ten sam błąd. Każdy pomysł? Dzięki.Z WYJĄKTU słowa kluczowego w Oracle

Oto moje zapytanie. jestem znalezienie nazwę uczniów zapisuje się wszystkie kursy z liczbą przedmiotów> 500

SELECT s.name 
FROM Students s 
WHERE NOT EXISTS 
    (
    SELECT c.id 
    FROM Courses c 
    WHERE c.number > 500 

    MINUS 

    SELECT e.course_id 
    FROM Enrollment e 
    WHERE e.student_id = s.id 
); 
+0

Czy możesz podać nam więcej informacji na temat zapytania, które próbujesz napisać? Może jest inny sposób na jego skonstruowanie? – Aiias

+0

@Ai są inne sposoby zapisu, ale próbuję użyć opcji EXCEPT/MINUS. – 0x56794E

Odpowiedz

16

Oracle MINUS jest operatorem; jest to odpowiednik EXCEPT w SQL Server. Here is a previous post wyjaśniając różnicę. Oto prosty przykład:

SELECT a, b, c 
FROM table_a 
MINUS 
SELECT a, b, c 
FROM table_b 

Jeśli nadal masz problemy, dodaj pełne zapytanie do pytania; to najprawdopodobniej prosty błąd składni.

+0

OO! Rozumiem, co było nie tak z moim zapytaniem. Prawidłowe "NIC" nie było złe, z wyjątkiem faktu, że sqlplus nie wydaje się lubić pustych linii, które umieściłem przed słowem kluczowym MINUS i po nim. – 0x56794E

+0

Zbyt zabawne! Sam nie używam sqlplus, więc i to by mnie zaskoczyło. – BellevueBob

+0

Chłopaki, a co z duplikatami? np .: "a", "b", "b" MINUS "a", "b" Czy w rezultacie otrzymam "b"? –

Powiązane problemy