select p.seq, p.zone_id as pid,p.zone_name as pname,c.zone_id,c.zone_name  from t_zone p inner join t_zone c on p.zone_id=c.pzone_id where 1=1 如上语句是查询数据库中机区域树 
现在想在这条语句中通过树形结构查询排列数据
通过 ' start with' 'connect by prior' 进行属性排列求高手指教

解决方案 »

  1.   

    create table T_ZONE
    (
      zone_id    NUMBER(20) not null,
      pzone_id   NUMBER(20),
      zone_name  VARCHAR2(200),
      zone_level NUMBER(2),
      seq        NUMBER(5)
    )----------------------------
    -- Add comments to the table 
    comment on table T_ZONE
      is '设备区域目录树';
    -- Add comments to the columns 
    comment on column T_ZONE.zone_id
      is '主键';
    comment on column T_ZONE.pzone_id
      is '父节点编号';
    comment on column T_ZONE.zone_name
      is '区域名';
    comment on column T_ZONE.zone_level
      is '树层次';
    comment on column T_ZONE.seq
      is '序号';
      

  2.   

    数据我这里不能给 
    你随便找个树结构的数据  要求同时查询机构名称和上级机构名称  要求按照一棵树的结构显示这些数据就可以了(当然查询后是数据列表,并不是真正意义上的'树')
    别忘记加入 ‘start with' 'connect by prior'