declare @lt table(id int,level int)
declare @level int
declare @findid int
--初始化数据
set @findid = 25/找nodeId = 25/
--end of 初始化数据
set @level = 1
insert @lt select @findid,@level
while @@rowcount > 0
begin
set @level = @level + 1
insert @lt select a parentId,@level
from 你的表名 a, @lt b
where anodeId = bnodeId and blevel = @level - 1
end
--连接得到结果
select a
from 你的表名 a inner join @lt b
on anodeId=bnodeId
csdn上的例子 (仅供参考): private void treeView1_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
{
TreeViewItem item = (TreeViewItem)treeView1SelectedItem;
TreeViewItem it = new TreeViewItem();
if (!itemHasItems)
{
if (itemParent != null && (itemParent is TreeViewItem))
{
it = (TreeViewItem)itemParent;
MessageBoxShow(itHeaderToString() + (itemParent is TreeViewItem)ToString());
}
else
{
MessageBoxShow(itemHeaderToString());
}
}
}
层次模型(格式化模型)定义和限制条件:有且仅有一个节点,无父节点,此节点为树的根;其他节点有且仅有一个父节点;
优点:
①数据结构简单清晰;
②利用指针记录边向联系,查询效率高;
③良好的完整新支持;
缺点:
①只能表示1:N的联系。尽管有许多辅助手段实现M:N的联系,但比较复杂,不易掌握。
②层次模型的树是有序树(层次顺序)。对任一结点的所有子树都规定了先后次序,这一限制隐含了对数据库存取路径的控制。
③树中父子结点之间只存在一种联系,因此,对树中的任一结点,只有一条自根结点到达它的路径。
网状模型(格式化模型)网状模型的2个特征:允许一个以上的节点无双亲;一个节点可以有多于一个的双亲;
优点:
①可以更加清晰表达现实,符合现实中的数据关系;
②可以很快存取 *** 作;
缺点:
①结构复杂;
②不易掌握,网状模型的DDL,DDM复杂,并且并且要嵌入某一种高级语言(COBOL,c),用户不易掌握;
③应用程序复杂,记录之间的联系通过存取路径实现的,应用程序在访问数据时必须选择合适的存取路径,因此用户必须了解系统结构的细节,加重编写应用程序的负担;
关系模型单一的数据结构——关系
现实世界的实体以及实体间的各种联系均用关系来表示,从用户角度看,关系模型中数据的逻辑结构是一张二维表。
优点:
①数据结构单一,关系模型中,不管是实体还是实体之间的联系,都用关系来表示,而关系都对应一张二维数据表,数据结构简单、清晰。
②关系规范化,并建立在严格的理论基础上,构成关系的基本规范要求关系中每个属性不可再分割,同时关系建立在具有坚实的理论基础的严格数学概念基础上。
③概念简单, *** 作方便,关系模型最大的优点就是简单,用户容易理解和掌握,一个关系就是一张二维表格,用户只需用简单的查询语言就能对数据库进行 *** 作。
缺点:
①查询效率不如格式化数据模型;
②为了提高性能,数据库管理系统需要优化用户查询,增加了数据库管理系统的开发难度;
以上就是关于SQL (根据子节点查询父节点信息)全部的内容,包括:SQL (根据子节点查询父节点信息)、wpf中选中treeview的某个子节点后获取子节点所在的所有父节点的内容用于数据库查询、数据库建模的介绍等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)