Php Mysql查询,在单个查询中获取父级详细信息

Php Mysql查询,在单个查询中获取父级详细信息,php,mysql,Php,Mysql,我有一个表,我在其中存储具有其父级id的类别 我需要的是在一个查询中获得id 4的父项和详细信息,而不需要php递归 id | CategoryName | parentid 1 Web 0 2 Software 0 3 PHP 1 4 Arrays 3 在这里,自联接就足够了。您的目标是针对自身加入表,同时将主行的parentid与其父行的id关联起来 选择 me.id作为me_i

我有一个表,我在其中存储具有其父级id的类别 我需要的是在一个查询中获得id 4的父项和详细信息,而不需要php递归

id | CategoryName | parentid
1      Web            0
2      Software       0
3      PHP            1
4      Arrays         3

在这里,自联接就足够了。您的目标是针对自身加入表,同时将主行的
parentid
与其父行的
id
关联起来

选择
me.id作为me_id,
me.CategoryName作为me\u类别,
parent.id作为parent\u id,
parent.CategoryName作为parent\u类别
从…起
tablename me加入我的tablename parent.parentid=parent.id
其中me.id=4

在这里,自连接就足够了。您的目标是针对自身加入表,同时将主行的
parentid
与其父行的
id
关联起来

选择
me.id作为me_id,
me.CategoryName作为me\u类别,
parent.id作为parent\u id,
parent.CategoryName作为parent\u类别
从…起
tablename me加入我的tablename parent.parentid=parent.id
其中me.id=4
会是

select * from categories t1 join categories t2 where t1.parentid=t2.id
为你工作

会是

select * from categories t1 join categories t2 where t1.parentid=t2.id

为您工作

可能重复的您的意思是要检索完整的继承链吗<代码>子->父->父->父->。。。0?没有递归是不行的。是的,这就是我要找的。。谢谢michael..您的意思是要检索完整的继承链吗<代码>子->父->父->父->。。。0?没有递归是不行的。是的,这就是我要找的。。谢谢michael。不,所有数据都在同一个表中,没有
t1
t2
@Rikudo Sennin t1和t2是别名,它是自连接的。不,所有数据都在同一个表中,没有
t1
t2
@Rikudo Sennin t1和t2是别名,它是自连接的。谢谢michael的回复,但问题出在这里。这个类别可以有任意级别。根据你的查询,我只得到2级levels@AnishJoseph你需要解释你所说的任何级别的含义。你问题中的示例表没有说明这一点。你的孩子和父母之间的关系是1:1。谢谢你的回复,michael,但问题出在这里。这个类别可以有任意级别。根据你的查询,我只得到2级levels@AnishJoseph你需要解释你所说的任何级别的含义。你问题中的示例表没有说明这一点。您显示了从子级到父级的1:1关系。