SQL Plus - вопрос типа псевдонима

0

Мне нужно найти код книги и название книги для каждой книги, цена которой больше, чем цена книги для каждой книги с типом "HOR". Моя таблица выглядит так:

CREATE TABLE BOOK (
   BOOK_CODE CHAR(4) CONSTRAINT BOOK_BOOK_CODE_PK PRIMARY KEY, 
   TITLE VARCHAR2(40) CONSTRAINT BOOK_TITLE_NN NOT NULL, 
   PUBLISHER_CODE CHAR(2) CONSTRAINT BOOK_PUBLISHER_CODE_FK REFERENCES PUBLISHER(PUBLISHER_CODE),
   TYPE CHAR(3), (this is where the 'HOR' is located)
   PRICE NUMBER(4,2), 
   PAPERBACK CHAR(1) 
);

Я пробовал несколько разных способов, но я в недоумении. Я предполагаю, что мне придется использовать псевдоним?

  • 0
    Покажите, как вы пробовали, но это не сработало.
  • 0
    Это сработало, но я не уверен, что понимаю почему. Когда я попробовал 1 из 100 различных версий, которые я создал, таких как ... ВЫБРАТЬ MIKEC.BOOK_CODE, MIKEC.TITLE, MIKEC.TYPE, MIKEC.PRICE, BOOK.BOOK_CODE, BOOK.TITLE, BOOK.TYPE, BOOK.PRICE ИЗ КНИГИ , БРОНИРУЙТЕ MIKEC ГДЕ MIKEC.PRICE> BOOK.PRICE AND MIKEc.TYPE = 'HOR'; Я выбрал 59 строк, но это не так
Теги:
sqlplus

2 ответа

1
Лучший ответ

Не обязательно. Вы можете использовать вложенный SELECT следующим образом:

SELECT
    BOOK_CODE,
    TITLE
FROM
    BOOK
WHERE
    PRICE > (SELECT MAX(PRICE) FROM BOOK WHERE TYPE = 'HOR'))
  • 0
    Вы не должны отвечать на подобные вопросы до тех пор, пока оригинальный плакат не покажет, что они попробовали, но это не сработало. Давать ответы без всякого усилия, чтобы показать, побуждает людей не учиться делать вещи самостоятельно; в один прекрасный день вы или я могли бы в конечном итоге поддерживать код, который они «написали», и я бы предпочел, чтобы этого не произошло.
  • 0
    Это правда, Кен Уайт. Хорошая точка зрения.
Показать ещё 1 комментарий
0
SELECT a.book_code, a.title
FROM book a, book b
WHERE a.price > b.price
AND b.type = 'HOR'

Возможно?

  • 0
    Смотрите мой комментарий к KG выше.
  • 0
    Достаточно справедливо, точка получила.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню