table
id,fatherId,name
1 0 省级总公司
2 1 市级公司1
3 1 市级公司2
4 1 市级公司3
5 2 市级1下面有县级1
6 3 市级2下面有县级1
7 3 市级2下面有县级2
......
id,fatherId,name
1 0 省级总公司
2 1 市级公司1
3 1 市级公司2
4 1 市级公司3
5 2 市级1下面有县级1
6 3 市级2下面有县级1
7 3 市级2下面有县级2
......
方法二,
id,name
001 省级总公司
001001 市级公司1
001002 市级公司2
001003 市级公司3
001001001 市级1下面有县级1
001002001 市级2下面有县级1
001002002 市级2下面有县级2
......
go
/*parent对应父亲结点,child对应儿子结点,如果child is NULL则本结点为叶子结点*/
create table new_tree ( parent varchar(80), child varchar(80))
go
insert new_tree values ( '1','2');
insert new_tree values ( '1','3');
insert new_tree values ( '2','4');
insert new_tree values ( '2','5');
insert new_tree values ( '3','6');
insert new_tree values ( '3','7');
insert new_tree values ( '3','8');
insert new_tree values ( '6','9');
insert new_tree values ( '5','10');
insert new_tree values ( '4','11');
insert new_tree values ( '9','12');
insert new_tree values ( '7',NULL);
insert new_tree values ( '8',NULL);
insert new_tree values ( '10',NULL);
insert new_tree values ( '11',NULL);
insert new_tree values ( '12',NULL);
id,fatherId,name
1 0 省级总公司
2 1 市级公司1
3 1 市级公司2
4 1 市级公司3
5 2 市级1下面有县级1
6 3 市级2下面有县级1
7 3 市级2下面有县级2
8 2 市级1下面有县级2
7 3 市级2下面有县级2
8 2 市级1下面有县级2如果有这样的情况,最好把Name也替换成nameID,这样可以确定是否是同个name.
所以又会多一个表:
nameID,Name
1,省级总公司
2,........