mysql - 如何创建 MySQL 视图以通过相关表显示嵌套集模型中每个节点的所有路径?
问题描述
我有两个表,类别和产品。Categories 表是一个嵌套的集合模型。Products 表有一个唯一serial_number
的字段。他们的架构是这样的:
分类:
+----+-----------+-----+-----+-------+-------------+
| id | parent_id | lft | rgt | depth | title |
+----+-----------+-----+-----+-------+-------------+
| 1 | Null | 2 | 9 | 0 | Cloth |
| 2 | 1 | 3 | 6 | 1 | Men's |
| 3 | 2 | 4 | 5 | 2 | Suits |
| 4 | 1 | 7 | 8 | 1 | Women's |
| 5 | Null | 10 | 13 | 0 | Electronics |
| 6 | 5 | 11 | 12 | 1 | TVs |
+----+-----------+-----+-----+-------+-------------+
产品 :
+-------------+---------------+
| category_id | serial_number |
+-------------+---------------+
| 3 | 5461354631 |
| 3 | 4521516545 |
| 4 | 8513453217 |
| 6 | 1235624165 |
+-------------+---------------+
我想要的是创建一个视图以显示所有序列号及其类别路径:
+---------------+-------------------+
| serial_number | path |
+---------------+-------------------+
| 5461354631 | Cloth/Men's/Suits |
| 4521516545 | Cloth/Men's/Suits |
| 8513453217 | Cloth/Women's |
| 1235624165 | Electronics/TVs |
+---------------+-------------------+
生成此视图的最佳查询是什么?
解决方案
推荐阅读
- swift - 在 SwiftUI 中以编程方式移动 NavigationView 的最佳实践是什么
- java - 为每个 Observable 调用的 RX Java 2 onComplete 方法
- python-3.x - 动态规划问题找到加起来达到目标的子集数量
- c# - 如何在 .net-core 而不是负载均衡器中获取客户端 IP 地址?(使用 X-Forwarded-For)
- arrays - 将数组中的元素删除到另一个数组中(Ruby)
- cron - wget 和 cvlc 无线电流录制提前停止
- azure - Azure Key Vault 最佳实践
- mysql - 仅在唯一时选择结果(某种)
- node.js - 如何Dockerize节点+ postgres?
- python - 无法在 Docker 容器内的 Celery Worker 中获取 Bash 脚本输出