#sql #oracle
#sql #Oracle
Вопрос:
Я хотел выбрать два столбца из внутреннего соединения двух запросов select. Я написал запрос, объединяющий три таблицы, и из результата я хочу получить только два столбца. Но мой запрос показывает ошибку.Я использую Oracle sql developer.
SELECT firstname,surname
FROM (
SELECT A.firstname,A.surname,I.ACNUM,I.FIELDNUM
FROM ACADEMIC A INNER JOIN INTEREST I
ON (A.ACNUM = I.ACNUM)
INNER JOIN SUBJECT S ON (I.FIELDNUM = S.FIELDNUM) WHERE S.TITLE = 'History' ) ;
Мне нужны только имя и фамилия, но я получаю сообщение об ошибке типа:
Неправильный синтаксис рядом с ‘;’.
Ответ №1:
Почему вы используете подвыборку? Просто используйте:
SELECT A.firstname, A.surname
FROM ACADEMIC A INNER JOIN
INTEREST I
ON A.ACNUM = I.ACNUM INNER JOIN
SUBJECT S
ON I.FIELDNUM = S.FIELDNUM
WHERE S.TITLE = 'History' ;
Ответ №2:
При выборе из запроса вы также должны назвать его. Попробуйте это:
SELECT D.firstname,D.surname
FROM (SELECT A.firstname,A.surname,I.ACNUM,I.FIELDNUM
FROM ACADEMIC A
INNER JOIN INTEREST I ON (A.ACNUM = I.ACNUM)
INNER JOIN SUBJECT S ON (I.FIELDNUM = S.FIELDNUM)
WHERE S.TITLE = 'History') D;