๋ฐ์ํ
๋ฌธ์
์์ดํ ์ ํฌ๊ท๋๊ฐ 'RARE'์ธ ์์ดํ ๋ค์
๋ชจ๋ ๋ค์ ์ ๊ทธ๋ ์ด๋ ์์ดํ ์
์์ดํ ID(ITEM_ID), ์์ดํ ๋ช (ITEM_NAME), ์์ดํ ์ ํฌ๊ท๋(RARITY)๋ฅผ ์ถ๋ ฅํ๋ SQL ๋ฌธ์ ์์ฑํด ์ฃผ์ธ์.
์ด๋ ๊ฒฐ๊ณผ๋ ์์ดํ ID๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ์ฃผ์ธ์.
์ฝ๋
select a.ITEM_ID, a.ITEM_NAME, a.RARITY
from ITEM_INFO a
join (
select i.ITEM_ID as parent_id, t.ITEM_ID as child_id
from ITEM_INFO i left join ITEM_TREE t on i.ITEM_ID = t.PARENT_ITEM_ID
where i.RARITY = 'RARE'
) b
on a.ITEM_ID = b.child_id
order by a.ITEM_ID desc
ํ์ด
1. ํฌ๊ท๋๊ฐ RARE์ธ ์์ดํ ๋ค์ id์, ๊ทธ ์์ด๋์ ์์ id๋ฅผ ๋ฝ์๋ธ๋ค
select i.ITEM_ID as parent_id, t.ITEM_ID as child_id
from ITEM_INFO i left join ITEM_TREE t on i.ITEM_ID = t.PARENT_ITEM_ID
where i.RARITY = 'RARE'
2. ๋ฐฉ๊ธ ๋ฝ์๋ธ ํ์์์ ์์ id์ ๋ํ ์ ๋ณด๋ค์ ๊ฐ์ ธ์จ๋ค (item_info ์ join)
select a.ITEM_ID, a.ITEM_NAME, a.RARITY
from ITEM_INFO a
join (๋ฐฉ๊ธ์ฝ๋) b
on a.ITEM_ID = b.child_id
order by a.ITEM_ID desc
๋ฐ์ํ