有一个金子塔式的销售网络,最上面为一人,从第二级以后为多人,每一级的一个人都对应着下一级的多个人,每一级的人数都不定时的增加,况且级数也在增加,查询时,对应每一个人,它下面的各级所有人的业绩都要显示出来,并累加到这个人上。请问如何建库?
我的处理方法为:采用编号来区分各级,每三位代表一级,第一位数代表级数,后两位代表本级的序数,全放到一个表中,这样查询时要处理字符编号,较麻烦,还有更好的办法没有?
请高手出招!

解决方案 »

  1.   

    三位一级,每一级最后三位表示序号,前面是上级的序号,例如:001
       001
       002
    002
       001
          001
            001
            002
       002
          001
    003
    004
    005
       001
       002这种数据结构对级数有限制,因为字段的宽度是一定的。
    不过对上面的查询是非常快:
    例如:
        select id,sum(业绩) from tbl where id like '002%'