将您的存储
group_types为层次结构表(带有
nested sets或
parent-child模型):
Parent-child:
typeid parent name1 0 Buyers2 0 Sellers3 0 Referee4 1 Electrical5 1 Mechanic
SELECt *FROM mytableWHERe group IN ( SELECt typeid FROM group_types START WITH typeid = 1 ConNECT BY parent = PRIOR typeid )
将选择中的所有买家
Oracle。
Nested sets:
typeid lower upper Name1 1 2 Buyers2 3 3 Sellers3 4 4 Referee4 1 1 Electrical5 2 2 Mechanic
SELECt *FROM group_typesJOIN mytableON group BETWEEN lower AND upperWHERe typeid = 1
将选择任何数据库中的所有买家。
Nested sets如果您不需要层次结构上的排序或频繁更新,则可以在任何地方实现且性能更高
group_types。
Parent-child可以轻松地在中实现,
Oracle并且
SQLServer只需花费一点点努力即可实现
MySQL。它允许简单的结构更改和分层排序。
请参阅我的博客中有关如何实现该文章的文章
MySQL:
- 中的分层查询
MySQL



