【发布时间】:2010-08-16 11:27:51
【问题描述】:
假设我有四张桌子:
------------- features --------------
id: int
name: varchar
-------------------------------------
-------- feature_categories ---------
feature_id: int
category_id: int
-------------------------------------
----------- categories --------------
id: int
name: varchar
-------------------------------------
------ category_subcategories -------
category_id: int
sub_category_id: int
-------------------------------------
类别有很多(子)类别,通过自引用连接子类别
一个特征有很多类别,其中一些是子类别,通过加入 feature_categories
我需要的是发送一组特征 ID 和一个(主)类别 ID,并返回所有子类别。事实证明,这比我希望的要困难得多,所以我非常感谢任何帮助。如果这个问题不清楚,请告诉我。
编辑 我不需要将特征表包含在任何查询中。在方面,我只需要返回子类别(类别)名称字段。
【问题讨论】:
-
你的类别树只有深度 1 吗?即一个主要类别可以有子类别,但那些不能有自己的任何子类别?另外 - 除了 mysql,您是否使用任何编程语言或平台?
-
嗨,Yoni。类别的深度仅为 1。我正在使用 ruby on rails。
-
只是为了澄清您的问题:您传递了功能 ID 和类别 ID,并且您想要返回所有子类别 - 其中包含任何传递的功能 ID 并且是您提供的类别的父类别 - 是对吗?
-
嗨尼古拉斯。是的,有一个功能 ID。返回的类别必须是所提供类别的子类别。
标签: mysql join self-reference