ORA-00907: отсутствует правильная скобка на запрос с подзапрониками и кроме оператора

dba.stackexchange https://dba.stackexchange.com/questions/68854

  •  11-12-2019
  •  | 
  •  

Вопрос

Я получаю

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 исправлено Спасибо!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с dba.stackexchange
scroll top