Reputation: 83
I need to return a names of categories/sub-categories, and the recursion will only go 1 level deep (never more than 1 sub category)
Table Data would be something along the lines of:
CATEGORY NAME - CAT ID - PARENT ID
Cat A - 1 - 0
Cat B - 2 - 0
Sub Cat A - 3 - 1
DESIRED RESULTS
Cat A
Cat A > Sub Cat A
Cat B
Thanks!
EDIT: (here's what I tried so far)
SELECT FC1.CATEGORY_ID,
FC1.CATEGORY_NAME,
FC1.PARENT_CATEGORY_ID,
FC2.PARENT_CATEGORY_ID,
FC2.CATEGORY_NAME AS PARENT_CATEGORY_NAME
FROM CATEGORY FC1
LEFT
JOIN CATEGORY FC2
ON FC2.CATEGORY_ID = FC1.CATEGORY_ID
ORDER BY CATEGORY_NAME
Upvotes: 0
Views: 164
Reputation: 183251
You need to change this:
ON FC2.CATEGORY_ID = FC1.CATEGORY_ID
(joining each record to itself) to this:
ON FC2.CATEGORY_ID = FC1.PARENT_CATEGORY_ID
(joining each record to its parent).
Upvotes: 3