[Oracle PL/SQL]当数据表设计成具有父ID的时候,当需要选择所有与父ID同根生的所有节点的时候,使用的SQL语句
2007-07-19 23:43
579 查看
在树控件中,通常面临着选择树节点的问题。
而我们的数据库表结构通常是由parentId和Id组成parentId顾名思义就是父节点的ID。
树节点形如:
1select a.ctb_id,
2 b.usr_name ctb_usr_name,
3 to_char(a.ctb_donatedate, 'yyyy-mm-dd') ctb_donatedate,
4 c.org_shorname ctb_shorname,
5 d.cod_name ctb_cod_name,
6 e.usr_name ctb_add_usr_name,
7 to_char(a.ctb_addtime, 'yyyy-mm-dd hh24:mi') ctb_addtime
8 From lov_contribute a,
9 asm_user b,
10 ogm_organization c,
11 asm_code d,
12 asm_user e
13 Where a.ctb_usr_id = b.usr_id
14 and a.ctb_org_id = c.org_id
15 and a.ctb_codid = d.cod_codid
16 and d.cod_cdp_id = '11'
17 and a.ctb_add_usr_id = e.usr_id
18 and exists (select x.org_id
19 from ogm_organization x
20 where a.ctb_org_id = x.org_id
21 CONNECT BY x.org_parentid = PRIOR x.org_id
22 START WITH x.org_id = '29')
23 order by ctb_id desc
【本文仅仅记录了在实际使用过程中所遇到的相对偏僻的SQL语句,由于只为记录功能,所以并未对其进行展开或描述,相关信息请自行搜索】
而我们的数据库表结构通常是由parentId和Id组成parentId顾名思义就是父节点的ID。
树节点形如:
- | 父节点1 | |
+ | 子节点1 | |
- | 子节点2 | |
+ | 父节点2 |
2 b.usr_name ctb_usr_name,
3 to_char(a.ctb_donatedate, 'yyyy-mm-dd') ctb_donatedate,
4 c.org_shorname ctb_shorname,
5 d.cod_name ctb_cod_name,
6 e.usr_name ctb_add_usr_name,
7 to_char(a.ctb_addtime, 'yyyy-mm-dd hh24:mi') ctb_addtime
8 From lov_contribute a,
9 asm_user b,
10 ogm_organization c,
11 asm_code d,
12 asm_user e
13 Where a.ctb_usr_id = b.usr_id
14 and a.ctb_org_id = c.org_id
15 and a.ctb_codid = d.cod_codid
16 and d.cod_cdp_id = '11'
17 and a.ctb_add_usr_id = e.usr_id
18 and exists (select x.org_id
19 from ogm_organization x
20 where a.ctb_org_id = x.org_id
21 CONNECT BY x.org_parentid = PRIOR x.org_id
22 START WITH x.org_id = '29')
23 order by ctb_id desc
【本文仅仅记录了在实际使用过程中所遇到的相对偏僻的SQL语句,由于只为记录功能,所以并未对其进行展开或描述,相关信息请自行搜索】
相关文章推荐
- [Oracle PL/SQL]当数据表设计成具有父ID的时候,当需要选择所有与父ID同根生的所有节点的时候,使用的SQL语句
- 使用SQL语句查询MySQL,SQLServer,Oracle所有数据库名和表名,字段名
- excel内一键进行sql查询(使用方法 1.选择’需要进行sql查询区域 包括字段名 2 输入sql语句 3.选择输出数据的单元格)
- 使用SQL语句清空数据库所有表的数据
- [Oracle]在PL/SQL中更改数据和使用游标获取数据
- 使用SQL语句清空数据库所有表的数据
- Oracle 11g数据库使用pl/sql developer进行数据导入与导出
- 使用SQL语句清空数据库所有表的数据
- Related to Oracle SQL 关于选择前N行数据的SQL语句
- 使用SQL语句清空数据库所有表的数据
- 在pl/sql中使用exp/imp工具实现oracle数据导出/导入
- Oracle 使用PL/SQL 读取CSV文件,将数据拆分到表中丢失数据行
- Oracle的小笔记,模糊处理人名,电话,地址之类字段数据时可以使用的SQL语句
- Oracle 删除重复数据只留一条 查询及删除重复记录的SQL语句 1、查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断 select * from 表 wher
- 用PL/SQL Developer 把oracle表里的数据导成insert语句(不积跬步,无以至千里)
- 如何使用PL/SQL工具将excel中数据导入oracle库
- 在pl/sql中使用exp/imp工具实现oracle数据导出/导入
- oracle 更新LOBl类型数据的时候需要使用 事务
- 使用SQL语句清空数据库所有表的数据
- Oracle 删除重复数据只留一条 查询及删除重复记录的SQL语句 1、查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断 select * from 表 wher