2009-11-20 4 views
0

'HOR'유형이있는 모든 책의 가격이 책정 가격보다 큰 책의 책 코드와 책 제목을 찾아야합니다. 내 표는 다음과 같습니다.SQL Plus - 별칭 유형 질문

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

그게 효과가 있었지만 나는 왜 그 이유를 알지 모르겠다. 내가 100 개의 다른 버전 중 1 개를 만들었을 때 ... SELECT MIKEC.BOOK_CODE, MIKEC.TYPE, MIKEC.TYPE, MIKEC.PRICE, BOOK.BOOK_CODE, BOOK.TITLE, BOOK.TYPE, BOOK.PRICE FROM BOOK, BOOK MIKEC MIKEC.PRICE> BOOK.PRICE 및 MIKEc.TYPE = 'HOR'; 59 행을 선택했지만 올바르게 표시되지 않습니다. – Michael

답변

1

반드시 그렇지는 않습니다. 이 같은 중첩 된 SELECT를 사용할 수 있습니다 아마도

SELECT 
    BOOK_CODE, 
    TITLE 
FROM 
    BOOK 
WHERE 
    PRICE > (SELECT MAX(PRICE) FROM BOOK WHERE TYPE = 'HOR')) 
+0

원본 포스터가 작동하지 않는 것을 보여 줄 때까지 이와 같은 질문에 대답해서는 안됩니다. 어떤 노력도하지 않고 답변을주는 것은 사람들이 일을 스스로 배우지 못하게하는 것입니다. 요즘과 같이, 당신이나 나는 그들이 "쓴"코드를 유지해야 할 수도 있고, 그렇게하지 않기를 바랄 수도 있습니다. –

+0

사실입니다. @Ken White. 좋은 지적. – karlgrz

+0

나는 그 이유를 알고 싶을만큼 대답을 원하지 않는다고 믿는다. 내가 작성한 코드를 유지하는 것이 먼 길을 간다. 나는 방금 배웁니다. SELECT MIKEC.BOOK_CODE, MIKEC.TITLE, MIKEC.TYPE, MIKEC.PRICE, BOOK.BOOK_CODE, BOOK.TITLE, BOOK.TYPE, 책 BOOK.PRICE , BOOK 마이 켓 MIKEC.PRICE> BOOK.PRICE 및 MIKEc.TYPE = 'HOR'; 왜 중첩 된 작동하는지 잘 모르겠습니다. – Michael

0
SELECT a.book_code, a.title 
FROM book a, book b 
WHERE a.price > b.price 
AND b.type = 'HOR' 

?

+0

위의 KG에게 의견 쓰기. –

+0

충분히 공정하고 포인트를 받았다. – dhorn