怎么来建这两张sql表
现在有个需求,想要获得所有代理商下面的二级代理,三级代理....所有用户(可管理),代理等级不确定。
我需要怎么建表呢,初步设想是 一张代理商表,一张用户表
代理商表里有: 代理商名称 上级代理商
用户表里有:用户名 所属代理商
那我怎么去循环获取到某个代理商下面的代理和用户呢?
整个流程是: 总代理
|
一级代理
| | |
二级代理 二级代理 普通用户
| | |
三级代理 用户 用户
| |
N级代理 用户
不知道我这样表达清不清楚,我如何建这两张表,在程序里怎么实现功能
------解决方案--------------------去搜索下 BOM结构
------解决方案--------------------就是按你说的设计:
代理商表
代理商ID,代理商,上级代理商ID,是否最下级代理商
客户
客户iD,客户,代理商。
可以通过递归的方式来取值,具体要看你的数据库的版本了,2005及以上可以参考 CTE
参考
------解决方案--------------------两张表就搞定了,
一张是基本表
一张是关联表
类似BOM表
基本表里 id ,名称
关联表里 id,mainid(上级id)
关联表里触发检查id和mainid的关系,
例如关联表有条数据
id mainid
5 10
那么就不会有这条数据
id mainid
10 5
因为5已经是10的上级id了,这样的话会在存储过程造成死循环
最后写个存储过程来循环查找就行了