sql - 如何使用递归查询将列添加到选择中?
问题描述
因此,我在女巫行中有一个帐户表,可能有也可能没有父帐户(0 表示它没有父帐户):
+----+-----------+
| id | parent_id |
+----+-----------+
| 1 | 2 |
| 2 | 0 |
| 3 | 1 |
| 4 | 3 |
| 5 | 4 |
+----+-----------+
我试图为每一行添加前 3 个父母,所以我会得到这样的结果:
+----+-----------+----------+----------+----------+
| id | parent_id | parent_1 | parent_2 | parent_3 |
+----+-----------+----------+----------+----------+
| 1 | 2 | 2 | null | null |
| 2 | 0 | null | null | null |
| 3 | 1 | 2 | 1 | null |
| 4 | 3 | 2 | 1 | 3 |
| 5 | 4 | 2 | 1 | 3 |
+----+-----------+----------+----------+----------+
我想我可以用递归查询来做到这一点,但我还没有设法构建一个有效的查询。任何帮助,将不胜感激。
解决方案
推荐阅读
- c++ - 我需要 Q_EMIT 示例
- sql - 动态 SQL - 参数化查询
- php - 致命错误:未捕获的 PDOException:SQLSTATE[HY093]:无效参数号:无参数
- css - 在 React 应用程序中实现主题
- json - 如果不存在,则从 JSON 响应中删除 Optional
- protractor - 量角器:在远程机器上执行命令
- sql-server - SQL Server 登录和数据库用户:为什么没有 db 角色?
- asp.net-core - 使用 aspnetboilerplate 找不到 System.Web.HttpPostedFileBase
- ios - 当我添加渐变图层时,表格视图消失了
- python - 如何使用 Spark 数据框获取范围的 2 个表之间的日期差异