ORA-00907: отсутствует правильная скобка на запрос с подзапрониками и кроме оператора
Вопрос
Я получаю
ORA-00907: missing right parenthesis
Для следующего запроса:
.SELECT PEOPLE.NAME FROM CLIENTS K INNER JOIN PEOPLE ON K.ID_L = PEOPLE.ID_L WHERE NOT EXISTS ( (SELECT DISTINCT ARTIST.ID_U FROM CLIENTS INNER JOIN ADORES ON CLIENTS.ID_L = ADORES.ID_L INNER JOIN ARTIST ON ADORES.ID_U = ARTIST.ID_U WHERE CLIENTS.ID_L = K.ID_L) EXCEPT (SELECT DISTINCT ARTIST.ID_U FROM CLIENTS INNER JOIN BOUGHT ON CLIENTS.ID_L = BOUGHT.ID_L INNER JOIN ARTWORK ON BOUGHT.ID_D = ARTWORK.ID_D INNER JOIN ARTIST ON ARTWORK.ID_U = ARTIST.ID_U WHERE CLIENTS.ID_L = K.ID_L) )
Я проверил обе подзапросы - оба в порядке.Он работает, если я удаляю оператор
EXCEPT
и использовать только один подзапрос (но мне нужно на самом деле тестировать то, что оба равны).Любая идея о том, что проблема?
Решение
EXCEPT
- это стандарт SQL, который недоступен в Oracle.Вы, вероятно, хотите использовать эквивалент Oracle MINUS
.
Смотрите Здесь для хорошего ответа на дваКлючевые слова.
Редактировать: @a_horse_with_no_name исправлено Спасибо!
Не связан с dba.stackexchange