我有以下两个数据库表:
新闻表格:
newsID, topic, categoryID
分类表:
categoryID, title, parentID
我想获取新闻ID、主题、主类别的标题,只有当parentID不是0时,才获取父类别的标题。
目前,我陷入了这样的困境:
SELECT news.newsID, news.topic, category.title
FROM news
LEFT JOIN category
ON news.categoryID = category.categoryID
WHERE news.newsID = 1
如果有的话,我还是没找到家长的头衔。如果有的话,最有效的方法是什么?
谢谢
最佳答案
假设您在categoryID
表中有一个news
列,并且category
表是一个自引用层次结构,这意味着子级的parentID
引用同一表中父行的categoryID
列:
SELECT n.newsID, n.topic, c.title, p.title as parentTitle
FROM news n
LEFT JOIN category c
ON n.categoryID = c.categoryID
LEFT JOIN category p
ON c.parentID = p.categoryID
WHERE n.newsID = 1
关于mysql - 2个使用parentID联接一个查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13808674/