网状关系的表结构如何查询关联的关系!
假如现在有这样的表关系
A 关联 B
B 关联 C和D
然而D表关联A表
C表关联E表
如果给出A表和E表,需要查询出A表到E表这之间一连串的表关系
也就是
A B C E
但是查询可能会出现
A B D A 然后就死循环下去了
这样的查询该如何设置相应的表结构满足呢?
------解决方案--------------------递归?
------解决方案--------------------一般是数据库设计不合理,一般情况下需要用约束限制.
如果确实没设计错(如道路系统),那查询时就要检测回环.也就是要用path记录路径,若下一节点已经在父路径中,则行成了圆环.
------解决方案--------------------查ABCE 那就是D表没关系?
select *
from a join b on
join c on
join e
这样?