계층형 구조
idx | NAME | parent |
---|---|---|
1 | 식품 | 0 |
2 | 의류 | 0 |
4 | 육류 | 1 |
5 | 가공육류 | 4 |
6 | 유제품 | 1 |
7 | 냉동육류 | 4 |
8 | 아이스크림 | 6 |
9 | 우유 | 6 |
10 | 간편식품 | 1 |
재귀식 출력
WITH RECURSIVE re_category AS (
SELECT idx, NAME, parent
FROM test.category
WHERE parent = 0
UNION ALL
SELECT sub_category.idx, sub_category.name, sub_category.parent
FROM test.category sub_category
INNER JOIN re_category par_category ON sub_category.parent = par_category.idx
)
SELECT idx, NAME, parent FROM re_category
ORDER BY parent, idx;
카테고리를 나열하고 싶을 때는 출력내역에서 concat을 해 주면 보기 편하다.
WITH RECURSIVE re_category AS (
SELECT idx, NAME, parent
FROM test.category
WHERE parent = 0
UNION ALL
SELECT sub_category.idx, CONCAT(par_category.name,' > ',sub_category.name), sub_category.parent
FROM test.category sub_category
INNER JOIN re_category par_category ON sub_category.parent = par_category.idx
)
SELECT idx, NAME, parent FROM re_category
ORDER BY NAME;
PREVIOUSintelliJ에서 war 혹은 jar 파일 열어보기