by 미사스키 [SQL Query] [2018.04.17 10:23:31]
안녕하세요
하수의 머리로 고민도 해보고 구글질을 열심히 해봐도 방법을 못 찾아 이렇게 문의를 드립니다. ㅠㅠ;;
사용자에게 상품을 추천하는 방식인데 여러 조건에서 상품별로 ranking 점수별로 소팅해서 N개 제한하고 쿼리입니다.
요구 사항은 N개 중에 가장 낮은 순위 (마지막)에 자회사 제품을 1개를 넣어주고 싶습니다.
ranking 별로 상품을 추천하기 때문에 ranking이 낮은 자사제품이 N개 조회 조건에 들어갈 확률이 거의 없습니다.
N-1개는 기존대로 랭킹대로 조회하고 제조사 = 자회사 조건으로 1개만 조회해서 조회 결과 마지막에 추가하는 방식이 있는지 문의 드립니다.
select x.상품코드, x.상품명, x.상품설명, x.상품카테고리, x.ranking, .....
from
( select a.상품코드, a.상품명, case when lang = 'ko' ...
...
from 상품 a, 판매 b, 환율 c, 타게팅 t, ...
left join (select .... from 재고 where .. ) t1,
left join (select .... from 마켓 where .. ) t2,
.....
where .....
) x
ORDER BY x.ranking DESC LIMIT N
이런 식에서 마지막에 나머지 조건은 모두 같고 제조사 = 자회사 조건이 하나 더 추가되어 1개만 조회 해서 전체 N개 조회가 가능할까요? (__)