2017-02-23 67 views
2

我想从父记录中获得标题(表中的第一行),并且我只有子记录(f.x. with categoryid = 13,请参阅下面的屏幕)。通过加入获取父记录

所以步骤如下: 1)通过类别标识(13)从子记录中获得父母(3)。 2)通过parentid(3)找到父记录。 3)从父记录中获得标题。

我已经试过这样的要求,但它并没有真正的工作,因为我想:

select * from qa_categories as cat 
join qa_categories as pcat 
ON pcat.categoryid = cat.parentid 
where cat.categoryid = "13" 

enter image description here

有人可以帮助我什么,我做错了什么?

回答

1

你有正确的想法,你只是缺少在选择列表中父母的标题:

SELECT cat.*, pcat.title AS parent_title 
-- Here ------^ 
FROM qa_categories AS cat 
JOIN qa_categories AS pcat ON pcat.categoryid = cat.parentid 
WHERE cat.categoryid = "13" 
+0

如何将返回父记录的所有领域:PCAT *不工作? btw:谢谢,它的工作原理。 –

+0

当你添加'pcat。*'时会发生什么?你能否详细说明“不起作用”? – Mureinik

+1

对不起,我是一个白痴:) 我犯了另一个地方和pcat错误*没有工作,我以为我在做一些非法的事情。 –