도서 코드, 도서 제목, 공급 업체 이름 및 각 공급 업체를 기준으로 최대 가격을 책정 한 도서의 가격을 표시하는 쿼리를 작성하십시오.
SELECT book_code,
book_title,
supplier_name,
price
FROM lms_book_details
JOIN lms_suppliers_details using(supplier_id)
GROUP BY supplier_name HAVING price IN
(SELECT max(price)
FROM lms_book_details
GROUP BY supplier_id)
산출
출력이 표시되지만 책 제목과 가격이 올바르지 않습니다.
첫 번째 단계는 공급 업체 당 최고 가격을 확인하는 것입니다.
SELECT supplier_id, MAX(Price) AS Price
FROM lms_book_details
GROUP BY supplier_id
그런 다음 모든 도서 세부 정보를 얻기위한 쿼리가 있습니다.
SELECT bd.book_code,
bd.book_title,
sd.supplier_name,
bd.price
FROM lms_book_details AS bd
JOIN lms_suppliers_details AS sd
ON sd.supplier_id = bd.supplier_id;
따라서 첫 번째 쿼리의 결과 만 포함하도록 두 번째 쿼리의 결과를 필터링하기 위해 두 가지를 결합하면됩니다.
SELECT bd.book_code,
bd.book_title,
sd.supplier_name,
bd.price
FROM lms_book_details AS bd
JOIN lms_suppliers_details AS sd
ON sd.supplier_id = bd.supplier_id
JOIN
( SELECT supplier_id, MAX(Price) AS Price
FROM lms_book_details
GROUP BY supplier_id
) AS MaxPrice
ON MaxPrice.supplier_id = bd.supplier_id
AND MaxPrice.Price = bd.Price;
추가
SQL Fiddle 에서 샘플 데이터를 다시 만든 후 위의 쿼리를 실행하면 다음과 같은 결과가 나타납니다.
BOOK_CODE BOOK_TITLE SUPPLIER_NAME PRICE
BL0000002 Java The compete reference ROSE BOOK STORE 750
BL0000006 Java The compete reference ROSE BOOK STORE 750
BL0000004 Java The compete reference SINGAPORE SHOPPEE 750
BL0000009 Fire KAVARI STORE 999
나는 "ROSE BOOK STORE"가 당신이 언급하는 중복이라고 가정하지만, 당신의 지시를 따르십시오.
책 코드, 책 제목, 공급자 이름 및 책 마녀의 가격을 표시하는 쿼리를 작성하면 각 공급자에 따라 최대 가격이 적용됩니다.
우리가 얻을 필요가 있도록 'ROSE BOOK STORE "의 최대 가격은 750.00이며 book_code
, book_title
이 가격 걸리는 책. 하지만이 가격을 책정하는 책이 두 권 있는데 어떤 책을 선택해야합니까? 이 선택 방법에 대한 지침이없는 경우이 가격의 두 책이 모두 반환됩니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다