[Oracle PL/SQL]当数据表设计成具有父ID的时候,当需要选择所有与父ID同根生的所有节点的时候,使用的SQL语句
在树控件中,通常面临着选择树节点的问题。
而我们的数据库表结构通常是由parentId和Id组成parentId顾名思义就是父节点的ID。
树节点形如:
【本文仅仅记录了在实际使用过程中所遇到的相对偏僻的SQL语句,由于只为记录功能,所以并未对其进行展开或描述,相关信息请自行搜索】
而我们的数据库表结构通常是由parentId和Id组成parentId顾名思义就是父节点的ID。
树节点形如:
| - | 父节点1 | |
|
+ |
子节点1 | |
|
- |
子节点2 | |
| + | 父节点2 |
1
select 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
select 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_addtime8
From lov_contribute a,9
asm_user b,10
ogm_organization c,11
asm_code d,12
asm_user e13
Where a.ctb_usr_id = b.usr_id14
and a.ctb_org_id = c.org_id15
and a.ctb_codid = d.cod_codid16
and d.cod_cdp_id = '11'17
and a.ctb_add_usr_id = e.usr_id18
and exists (select x.org_id19
from ogm_organization x20
where a.ctb_org_id = x.org_id21
CONNECT BY x.org_parentid = PRIOR x.org_id22
START WITH x.org_id = '29')23
order by ctb_id desc【本文仅仅记录了在实际使用过程中所遇到的相对偏僻的SQL语句,由于只为记录功能,所以并未对其进行展开或描述,相关信息请自行搜索】
posted on 2007-07-19 23:43 volnet(可以叫我大V) 阅读(596) 评论(0) 收藏 举报
浙公网安备 33010602011771号