[Oracle PL/SQL]当数据表设计成具有父ID的时候,当需要选择所有与父ID同根生的所有节点的时候,使用的SQL语句
在树控件中,通常面临着选择树节点的问题。
而我们的数据库表结构通常是由parentId和Id组成parentId顾名思义就是父节点的ID。
树节点形如:
【本文仅仅记录了在实际使用过程中所遇到的相对偏僻的SQL语句,由于只为记录功能,所以并未对其进行展开或描述,相关信息请自行搜索】
而我们的数据库表结构通常是由parentId和Id组成parentId顾名思义就是父节点的ID。
树节点形如:
- | 父节点1 | |
+ |
子节点1 | |
- |
子节点2 | |
+ | 父节点2 |
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
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语句,由于只为记录功能,所以并未对其进行展开或描述,相关信息请自行搜索】
posted on 2007-07-19 23:43 volnet(可以叫我大V) 阅读(587) 评论(0) 编辑 收藏 举报