maxisbn
не является именем какого-либо столбца, представленного списком SELECT
вашей производной таблицы.
Чтобы этот синтаксис работал, вам необходимо добавить его в виде столбца, как показано ниже.
select isbn,
b.fname,
b.lname
from bookauthor a,
author b,
(select authorid auth, isbn maxisbn
from bookauthor
where isbn = (select max(isbn) maxisbn
from orderitems))
where b.authorid = auth
and isbn = maxisbn;
Примечание: , вероятно, , безусловно, более эффективный способ написания этого запроса (вам не нужно дважды обращаться к bookauthor
), и я всегда использовал бы явный синтаксис JOIN
. Это просто ответ на ваш конкретный вопрос о том, почему это не работает.