如何创建一个MySQL视图,通过相关表显示嵌套集合模型中每个节点的所有路径?

如何创建一个MySQL视图,通过相关表显示嵌套集合模型中每个节点的所有路径?,mysql,nested-set-model,Mysql,Nested Set Model,我有两个表,类别和产品。类别表是嵌套集模型。Products表有一个序列号字段,该字段是唯一的。他们的模式如下: 类别: +----+-----------+-----+-----+-------+-------------+ | id | parent_id | lft | rgt | depth | title | +----+-----------+-----+-----+-------+-------------+ | 1 | Null | 2 | 9 |

我有两个表,类别和产品。类别表是嵌套集模型。Products表有一个
序列号
字段,该字段是唯一的。他们的模式如下:

类别:

+----+-----------+-----+-----+-------+-------------+
| 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   |
+---------------+-------------------+

生成此视图的最佳查询是什么?

非常确定这应该通过一系列步骤来完成:步骤1:选择所有具有左侧和右侧可包含叶节点的记录。第二步:左下订单。第3步:使用正斜杠作为分隔符将_CONCAT分组。然后最后选择它旁边的序列号。此选择生效后,您可以将其转换为视图。我将把这项工作留给其他人去做。这棵树有多深?@Nick没有存储过程就很难做到这一点,因为你必须在不知道自己有多深的情况下向后遍历这棵树。@AmirhosseinDZ请看一个通用示例