我正在研究一个测验问题,并且已经找到了解决问题的方法。问题如下:
"编写一个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"
非常感谢任何建议!
答案 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