一个相当麻烦的如何设计表的问题。

Wonny 2004-07-08 09:35:11
记录的逻辑关系类似于不完整的二叉树,每个记录最多有两个下属,一直向下增加,深度可达15000,应如何设计表,才能高效地查询每个记录的不同等级的下属?
就象传销,每个人有两个下线,如何计算下线的业绩。
...全文
74 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Wonny 2004-07-14
  • 打赏
  • 举报
回复
还有别的方法吗?
victorycyz 2004-07-08
  • 打赏
  • 举报
回复

细节处理还没有想好。
victorycyz 2004-07-08
  • 打赏
  • 举报
回复

把邹建的方法,“1”、“2”改成“0”、“1”,按位存储,是不是更节省空间?

ForDB 2004-07-08
  • 打赏
  • 举报
回复
如果以上方法不行的话,可以用在设计表的时候添加一个层数的字段(在树中的深度),然后根据查询需求或用递归或其他的方法。
zjcxc 2004-07-08
  • 打赏
  • 举报
回复
可以考虑设计两个编号字面,将两个字段联起来用
zjcxc 2004-07-08
  • 打赏
  • 举报
回复
不过,这样的深度最多到8000
zjcxc 2004-07-08
  • 打赏
  • 举报
回复
查询11的所有下级

select * from 表 where 编号 like '11_%'
zjcxc 2004-07-08
  • 打赏
  • 举报
回复
每个记录最多两个下线? 这样设计表:

编号
1 --最高级
11 --1的第1个下级
12 --1的第2个下级
111 --11的第1个下级
112
121
122
1211 --121的第1个下级
1212
....

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧