php - 如何使用mysql从具有父子关系的表中检索数据?

标签 php mysql

我有一个包含 3 行的表,例如 cat_id、cat_name、cat_parent。

我的表格将如下所示:

-------------------------------------
|cat_id   |   cat_name   | cat_parent
-------------------------------------
| 1       |  Electronics | 0
| 2       |  mobile      | 1
| 3       |  ac          | 1
| 4       |  Furniture   | 0
| 5       |  Chair       | 4

我想使用 MySql 单个查询选择父类别及其子类别。

有什么帮助吗?

最佳答案

对于 2 或 3 的深度:

SELECT
  l0.cat_name,
  l1.cat_name,
  l3.cat_name
FROM      categories l0
JOIN      categories l1 ON l0.cat_id = l1.cat_parent
LEFT JOIN categories l2 ON l1.cat_id = l2.cat_parent

关于php - 如何使用mysql从具有父子关系的表中检索数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25136982/

相关文章:

mysql选择最近一小时的记录,不带日期

mysql - Elasticsearch 全文与 mysql 全文?

php - 将 mySQL 与 Android 连接

php - mysql 结果太大 - htaccess 文件

php - HTTP_REFERER 和位置重定向

PHP将文本文件中的解析值插入MySQL DB

MySQL行动态列

mysql - Eloquent count distinct 返回错误的总数

mysql - 滚动 12 个月的数据 Sum 运算

javascript - Google Chrome twilio 视频聊天问题