1. 문제 풀이 아이디어
JOIN
을 사용하여item_tree
를item_info
와 결합하고,parent_item_id
가rare
등급인 항목을 필터링하여 문제를 해결할 수 있다.
2. 나의 정답 코드
SELECT
a.item_id,
a.item_name,
a.rarity
FROM item_info a
JOIN item_tree b ON a.item_id = b.item_id
JOIN item_info c ON b.parent_item_id = c.item_id
AND c.rarity = 'rare'
ORDER BY a.item_id DESC;
3. 정리
JOIN item_tree b ON a.item_id = b.item_id
에서 아이템 트리와 조인하여 부모 아이템을 찾는다.
JOIN item_info c ON b.parent_item_id = c.item_id AND c.rarity = 'rare'
에서 부모 아이템의rarity
가'rare'
인 경우만 필터링한다.
ORDER BY a.item_id DESC
로 아이템 ID를 기준으로 내림차순 정렬한다.
Share article