php - 在一个查询中检索父子记录

标签 php mysql

我有一个类似的数据集表,名为“album”

album_id    parent_id   name
2           NULL        ...
34          NULL        ...
35          2       ...
36          2       ...

在 php 中,我的网址如下所示:http://www.website/album.php?albumid=2

换句话说,找到album_id 2的parent_id(为空)并返回父/子:

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

我如何在一个查询中完成它?

最佳答案

这个怎么样?

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;

关于php - 在一个查询中检索父子记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24400289/

相关文章:

php - 使用 ajax 的 MySQL 事务

mysql - 计算三列的平均数

php - 在当前自定义帖子类型页面中将 ACF 字段的值添加到重力表单

php - MYSQL存储多张图片

javascript - NodeJs 中的 Promise 错误

mysql - 将大型 sql 文件(每天 30 GB)导入到 elasticsearch 中的一个索引

php - 使用 Sphinx/MySQL 一次从两个表中获取数据有更好的方法吗?

php - MySQL查询从两个表中获取对问卷的答复

php - 操纵文本框并动态显示它?

mysql - 从 mysql 客户端向 mysql 脚本传递参数