惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

腾讯CDC
GbyAI
GbyAI
C
CERT Recently Published Vulnerability Notes
S
Security @ Cisco Blogs
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
The Hacker News
The Hacker News
D
Darknet – Hacking Tools, Hacker News & Cyber Security
P
Proofpoint News Feed
C
Cyber Attacks, Cyber Crime and Cyber Security
S
Securelist
Security Latest
Security Latest
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Simon Willison's Weblog
Simon Willison's Weblog
Latest news
Latest news
T
Tor Project blog
T
Threat Research - Cisco Blogs
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Spread Privacy
Spread Privacy
K
Kaspersky official blog
T
The Exploit Database - CXSecurity.com
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
V2EX - 技术
V2EX - 技术
L
Lohrmann on Cybersecurity
Google Online Security Blog
Google Online Security Blog
Cyberwarzone
Cyberwarzone
Help Net Security
Help Net Security
The Last Watchdog
The Last Watchdog
C
Cybersecurity and Infrastructure Security Agency CISA
Attack and Defense Labs
Attack and Defense Labs
大猫的无限游戏
大猫的无限游戏
Schneier on Security
Schneier on Security
H
Heimdal Security Blog
O
OpenAI News
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
Visual Studio Blog
AI
AI
H
Hacker News: Front Page
博客园_首页
博客园 - 【当耐特】
L
LINUX DO - 最新话题
MyScale Blog
MyScale Blog
量子位
Vercel News
Vercel News
C
Cisco Blogs
L
LINUX DO - 热门话题
Y
Y Combinator Blog
T
Threatpost
爱范儿
爱范儿
P
Privacy & Cybersecurity Law Blog

博客园 - InFuture

变成百万富翁的二十五种方法 今天终于测试解决了WCF传递大数据量的问题 关于工作流设计方面的一些经验总结 Telnet客户端 字符串表达式求值(转) silverlight DataGrid模板列的动态生成 关于事件处理的完整框架Event,delegate,event args,无图有真相。 最近准备整理一下手头资料,开发一个工作流和表单管理系统 今天装好了window 7 Silverlight 客户端如何访问WCF 如何让用户控件占满全部页面,silverlight用户控件开发问题 wpf 数据绑定有关讲解 ASP.NET 3.5 Extensions: Dynamic Data Web Site 要點整理(转载) 免费的微软OneCare防病毒软件 Visual Studio 2008 SP1: EntityDataSource Where Clause(转载) Visual Studio 2008 SP1: EntityDataSource for ASP.Net (转载) 今天装了VS2008 Sp1!真是非常激动!(VS2008 sp1下载地址) ASP.NET里的支架:Dynamic Data Support(转载) VS2008的黑色皮肤
关于树形结构父类查子类,子类查父类的方法
InFuture · 2011-06-20 · via 博客园 - InFuture

ID,Name, ParentID,Level,三个字段就可以描述树形结构了。其他业务信息可以额外添加。这四个是主要的。我看你的问题是想快速查询而已。

如果用Oracle,可以参考以下示例:

TB_ORGAN表定义:
ORG_ID       (节点ID)
ORG_NAME     (节点名称)
ORG_PARENTID (父节点ID)
ORG_LEVEL    (节点级别)

1.根据子类查其父类:

根据某个子节点的ID,选择其某个级别(例如Lev001)的父节点的SQL脚本:

SELECT ORG_NAME from TB_ORGAN WHERE ORG_LEVEL = 'Lev001' CONNECT BY ORG_ID = PRIOR ORG_PARENTID START WITH ORG_ID = '某个子节点的ID' AND ROWNUM = 1

2.根据父类查其子类:

SELECT ORG_ID, ORG_NAME, ORG_PARENTID from TB_ORGAN CONNECT BY ORG_PARENTID = PRIOR ORG_ID START WITH ORG_ID = '某个父节点ID'

上边这条语句,你也可以增加where条件,增加子节点级别,这样可以只查询某个级别的子节点。

好了,兄弟,这样的设计可以彻底解决树形结构的查询问题了吧。至于你想把Level如何定义,看你自己需求了,可以定义一些特征,这样加快查询速度。呵呵