父类别的名称与parent_id

时间:2014-04-14 11:19:15

标签: sql postgresql

我正在研究一个测验问题,并且已经找到了解决问题的方法。问题如下:

"编写一个SQL查询,按类别列出所有电影类别,类别名称(称为类别)和父类别名称(称为父母),按类别按字母顺序排列&# 39;的名字。"

实体类别有category_id,name和parent_cat(这是另一个类别的id)

这是我到目前为止的查询:

SELECT A.category_id, A.name AS category, (SELECT B.name WHERE A.parent_cat=B.category_id AND A.parent_cat IS NOT NULL) AS parent
FROM "Category" A, "Category" B
WHERE A.parent_cat IS NOT NULL
ORDER BY A.name

不幸的是,这会返回类别的重复实例,其中一些实例的值为#34; parent"

非常感谢任何建议!

1 个答案:

答案 0 :(得分:1)

SELECT A.category_id, A.name AS category,  B.name AS parent
FROM "Category" A JOIN "Category" B ON A.parent_cat=B.category_id
WHERE A.parent_cat IS NOT NULL
ORDER BY A.name