반응형
🚀 설명
티몬이나 옥션 같은 쇼핑몰을 보면 트리형식으로 계층을 이루어 카테고리가 구성되어 있는 것을 볼 수 있다. 이를 구현하기 위해 만든 쿼리이다.
🚀 테이블 구성
🚀 예시 데이터
🚀 결과
🚀 SQL
SELECT
CONCAT(A.group_ID, A.category_LEV, A.category_detail_LEV) AS n_key,
A.category_NM,
CONCAT(repeat(' ',A.category_parent_LEV * 3), A.category_detail_NM) as category_name,
CASE A.category_parent_LEV
WHEN 0 THEN C.category_detail_NM
WHEN 1 THEN CONCAT(B.category_detail_NM,' > ', A.category_detail_NM)
WHEN 2 THEN CONCAT(C.category_detail_NM, ' > ', B.category_detail_NM,' > ', A.category_detail_NM)
END as navigator
FROM Template_TB A LEFT JOIN Template_TB B
ON A.category_parent_LEV = B.category_LEV
AND A.category_detail_parent_LEV = B.category_detail_LEV
LEFT JOIN Template_TB C
ON A.group_ID = C.group_ID
WHERE A.category_ID > 0
AND C.category_id = ( SELECT category_id FROM Template_TB sub2 where category_ID > 0 and category_LEV = 1)
ORDER BY navigator;
반응형