我必须做一个垂直的3级菜单的基础上的数据库项目,但不幸的是,没有组织“parent_id”.
数据库看起来像:
menu | sub menu | subsub menu | subsubsub menu
________________________________________________________
univers1 | galaxy1 | planet1 | city1
univers1 | galaxy1 | planet1 | city2
univers1 | galaxy2 | planet1 | city1
univers1 | galaxy2 | planet2 | city1
univers1 | galaxy2 | planet2 | city2
univers2 | galaxy1 | planet1 | city1
univers2 | galaxy2 | |
univers2 | galaxy3 | planet1 | 我需要得到:
- planet2
- city1
- galaxy2
- planet1
- city1
- planet2
- city1
- city2
- galaxy2
- galaxy3
- planet1
我知道这很糟糕,但我别无选择。
我应该承认,如果没有传统的parent_id专栏,我会很困惑。
mysql有一个特殊的技巧来保持请求的简单性吗?我的意思是不用间隔树。
发布于 2015-03-10 14:10:38
允许使用链接表吗?它不需要发送parent_id作为参数。在此基础上,它将创建一个清晰而简单的4个表的结构,这是正确的形式,不重复数据。
例如:
TABLE UNIVERSE
ID UniverseName UniverseStatus ....
TABLE GALAXY
ID GalaxyName UniverseId GalaxyStatus ...注意ID是自动生成的,并在创建时增加.如果不是这样的话,你可以用这样的方法
SELECT city FROM mainTable WHERE {conditions} 你可以把条件捆绑在一起
https://stackoverflow.com/questions/28965845
复制相似问题