繁体   English   中英

mysql从表的最后一个子行获取父行

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM