Ошибка "SELECT не является допустимым вводом в этой позиции для этой версии сервера, ожидая: '(' WITH" в MySQL Workbench - PullRequest
0 голосов
/ 05 апреля 2019

Я пытаюсь получить номера SSN сотрудников, которые работают для всех проектов, над которыми работает Джон Смит.В частности, я должен показать функциональность операции деления.У меня есть несколько примеров из учебника, использующих вложенные функции, но я постоянно получаю сообщение об ошибке «SELECT недопустим в этой позиции».

Я попробовал предложения из здесь и здесь .Ошибка появляется, как только я создаю вложенную функцию ... По отдельности операторы выполняются без проблем.

Я следовал различным примерам в своем учебнике, и даже те дают ту же ошибку.

# This works by itself
# smith proj nums
(SELECT Pno
FROM WORKS_ON
WHERE Essn =    # smith ssn
                (SELECT ssn 
                FROM employee 
                WHERE Fname="John" AND Lname="Smith"));

# This also works by itself:
# employee SSNs and projs
(SELECT Essn,Pno
from WORKS_ON);

# When nested, I get the error:
SELECT ssn
FROM EMPLOYEE
WHERE NOT EXISTS(SELECT Essn,Pno
                 FROM WORKS_ON
                 EXCEPT(SELECT Pno
                        FROM WORKS_ON
                        WHERE Essn = (SELECT ssn 
                                FROM employee 
                                WHERE Fname="John" AND Lname="Smith")));

...