계층형 구조
| 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 파일 열어보기