반응형

🚀 설명

티몬이나 옥션 같은 쇼핑몰을 보면 트리형식으로 계층을 이루어 카테고리가 구성되어 있는 것을 볼 수 있다. 이를 구현하기 위해 만든 쿼리이다.

 

 

🚀 테이블 구성

 

 

🚀 예시 데이터

 

 

🚀 결과

 

 

 🚀 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;

 

반응형

+ Recent posts