简单的父/子查询

时间:2012-01-30 15:40:22

标签: sql

我需要返回类别/子类别的名称,递归只会达到1级深度(从不超过1个子类别)

表数据将类似于:

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

谢谢!

编辑:(这是我到目前为止所尝试的)

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 

1 个答案:

答案 0 :(得分:3)

你需要改变这个:

    ON FC2.CATEGORY_ID = FC1.CATEGORY_ID

(将每个记录加入到自身)到此:

    ON FC2.CATEGORY_ID = FC1.PARENT_CATEGORY_ID

(将每条记录加入其父级)。