如何将这两个表连接在一起(MySQL,分层查询)?
我有一个 categories
表,如下所示:
id | name | parent
-----------------------
1 | Toys | 1
2 | Clothing | 1
3 | Kid's Toys | 0
我有另一个名为 category_relationships
的表,如下所示:
id | category_id | parent_id
----------------------------
1 | 3 | 1
我想要以下输出:
类别:
Toys
- Kid's Toys
Clothing
如何实现此目的一个查询?
I have a categories
table that looks like this:
id | name | parent
-----------------------
1 | Toys | 1
2 | Clothing | 1
3 | Kid's Toys | 0
I have another table called category_relationships
which looks like this:
id | category_id | parent_id
----------------------------
1 | 3 | 1
I want to have the following output:
Categories:
Toys
- Kid's Toys
Clothing
How to achieve this with one query?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
一个更好/适当/稳健的答案可能是为此创建一个 MySQL PROCEDURE,但是如果您的数据可以满足这些限制,您可以使用以下内容:
此查询使用 Concat 构建可排序引用,以便 A 的子级位于 A 后面,等等。名称使用 concat 和前导空格手动缩进。
A better/proper/robust answer will probably be create a MySQL PROCEDURE for this, but if your data can fit in these limitations, you can use the below:
This query uses Concat to build a sortable reference so that children of A come after A etc. The names are indented manually using concat and leading spaces.