在一个查询中检索父子记录
Posted
技术标签:
【中文标题】在一个查询中检索父子记录【英文标题】:retrieve parent child records in one query 【发布时间】:2014-06-25 04:38:25 【问题描述】:我有一个类似的数据集表,叫做“专辑”
album_id parent_id name
2 NULL ...
34 NULL ...
35 2 ...
36 2 ...
在 php 中,我的网址如下所示:http://www.website/album.php?albumid=2
也就是说,找到album_id 2(为null)的parent_id并返回parent/children:
album_id parent_id name
2 NULL ...
35 2 ...
36 2 ...
当我的网址看起来像这样时:http://www.website/album.php?albumid=35
找到album_id 35(即2)的parent_id,返回记录是album_id = 2和parent_id = 2(父/子):
album_id parent_id name
2 NULL ...
35 2 ...
36 2
如何在一个查询中完成?
【问题讨论】:
你能解释一下吗?另一张桌子叫什么名字? 没有其他表,只有表'album' 【参考方案1】:这个怎么样?
SELECT *
FROM (
SELECT parent_id
FROM album
WHERE album_id = 35
) AS t1 INNER JOIN album t2
ON t1.parent_id = t2.parent_id OR t1.albumn_id = t1.parent_id;
【讨论】:
实际上,它确实有效。我已经更改了最后一部分以使其正常工作...谢谢以上是关于在一个查询中检索父子记录的主要内容,如果未能解决你的问题,请参考以下文章