작성
·
243
0
안녕하세요 강사님! 강의 잘 듣고 있습니다!
JPQL(or Querydsl)과 관련된 질문이 있습니다
FROM절 서브쿼리는 지원하지 않는다고 말씀하셨는데 그 말씀은 아래외 같은 쿼리는 JPQL로 표현이 불가능하다는 말씀이신가요?
불가능하다면 아래와 같은 통계성 서브쿼리가 들어간 쿼리를 어떻게 해결해야 가장 효율적으로 해결할 수 있는건지 궁금합니다!(Querydsl을 사용해서 해결하고 싶습니다)
아래 쿼리는 거래 내역 테이블에서 거래된 아이템별로 그룹핑한 데이터에서 아이템별 최소 가격을 먼저 뽑아내고, 이렇게 만들어낸 인라인 뷰를 아이템 테이블, 브랜드 테이블과 조인하는 쿼리입니다
SELECT i.*,
br.*,
b.immediately_purchase_price
FROM item i
INNER JOIN brand br ON br.brand_id = i.brand_id
LEFT JOIN (
SELECT item_id,
MIN(price) AS immediately_purchase_price
FROM bid
GROUP BY item_id
) b ON i.item_id = b.item_id
ORDER BY release_date DESC
LIMIT 16
답변 1
0
안녕하세요. wogh6475님
서브 쿼리를 조인으로 풀어낼 수 있는 상황에는 조인으로 풀면 됩니다.
또는 하나의 쿼리를 둘로 분리해서 사용하는 것도 방법입니다.
https://www.inflearn.com/questions/165656
만약 둘다 안되는 상황이면 네이티브 쿼리, JdbcTemplate를 사용하셔야 합니다.
감사합니다.