2使用parentID连接一个查询

时间:2012-12-10 20:28:42

标签: mysql join

我有以下两个数据库表:

新闻表:

newsID, topic, categoryID

类别表:

categoryID, title, parentID

我想获取newsID,主题,主要类别的标题,并且只有IF parentID不是0,父类别的标题。 目前我是这样的:

SELECT news.newsID, news.topic, category.title
FROM news
LEFT JOIN category
ON news.categoryID = category.categoryID
WHERE news.newsID = 1

如果可用,我仍然缺少父母标题。获得它的最佳表现方式是什么(如果有的话)?

由于

2 个答案:

答案 0 :(得分:2)

假设categoryID表上有news列:

SELECT n.newsID, n.topic, c.title, cp.title as parenttitle
FROM news n
LEFT JOIN category c ON n.categoryID = c.categoryID
LEFT JOIN category cp ON cp.categoryID = c.parentID
WHERE n.newsID = 1

答案 1 :(得分:1)

假设categoryID表中有一个news列,并且category表是一个自引用层次结构,这意味着一个孩子的parentID引用{ {1}}同一个表中父行的列:

categoryID