[英]mysql get parent rows from last child row of the table
我正在建立一个电子商务网站,其中类别管理起着重要作用。 类别的表格结构如下
category_id | category_name | parent_category_id
------------------------------------------------------
1 | Shoes | NULL
2 | Sports Shoes | 1
3 | Fila Shoes | 2
4 | Black Shoes | 3
parent_category_id是对category_id的外键引用
我想从最后一个孩子回到祖先。 我的意思是这样
黑色鞋->菲拉鞋->运动鞋->鞋
使用这种设计,除非您知道需要选择的确切节点数(在这种情况下,简单的JOIN
就能解决问题),否则无法仅通过一个查询来执行此操作。
您可以对每个节点执行一个查询:SELECT parent_category_id,category_name WHERE category_id =;
如果您有许多节点并且经常执行此操作,则甚至可以考虑使用存储过程来执行此操作,该存储过程返回许多结果集。
当然,在标准SQL中事情要简单得多,但是MySQL不支持递归查询。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.