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
......

解决方案 »

  1.   

    table
    方法二,
    id,name
    001     省级总公司
    001001  市级公司1
    001002  市级公司2
    001003    市级公司3
    001001001 市级1下面有县级1
    001002001 市级2下面有县级1
    001002002    市级2下面有县级2
    ......
      

  2.   

    drop table new_tree
    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);
      

  3.   

    那这就不能说是严格的树型结构了。
    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,........