level 1
就当风没吹过F8
楼主
表名 Zoning地区区划
列包括:PK_ID主键,自增 ,
FK_ParentID,父节点的ID
Name,地区名称
需要实现的查询是:传入一个地区名称,查询该地区所有最小子节点(孙节点)的所有信息
举例: 传入Name = 河北省,
河北省的ID = 1
石家庄市(ID=2,ParentID=1)
唐山市(ID=3,ParentID=1)
保定市(ID=4,ParentID=1)
裕华区(ID=5,ParentID=2)
桥东区(ID=6,ParentID=2)
体育大街(ID=7,ParentID=5)
天山大街(ID=8,ParentID=6)
输出的时候,是输出 体育大街,天山大街,唐山,保定
我的想法是,先写一个存储过程,传入一个ID,返回所有父节点为该ID的子 节点. 然后另外一个存储过程里,写循环和判断,如果返回值不为空,继续调用, 直到查不到更下级的信息,然后返回.继续下一次循环查询.但是不知道逻辑怎么写,求高手指导点拨,最好能写出代码.
补充一下,节点层级不确定,所以需要一个循环判断来确定是否是最小节点了...就是不知道如何用SQL来实现.
2012年08月23日 13点08分
1
列包括:PK_ID主键,自增 ,
FK_ParentID,父节点的ID
Name,地区名称
需要实现的查询是:传入一个地区名称,查询该地区所有最小子节点(孙节点)的所有信息
举例: 传入Name = 河北省,
河北省的ID = 1
石家庄市(ID=2,ParentID=1)
唐山市(ID=3,ParentID=1)
保定市(ID=4,ParentID=1)
裕华区(ID=5,ParentID=2)
桥东区(ID=6,ParentID=2)
体育大街(ID=7,ParentID=5)
天山大街(ID=8,ParentID=6)
输出的时候,是输出 体育大街,天山大街,唐山,保定
我的想法是,先写一个存储过程,传入一个ID,返回所有父节点为该ID的子 节点. 然后另外一个存储过程里,写循环和判断,如果返回值不为空,继续调用, 直到查不到更下级的信息,然后返回.继续下一次循环查询.但是不知道逻辑怎么写,求高手指导点拨,最好能写出代码.
补充一下,节点层级不确定,所以需要一个循环判断来确定是否是最小节点了...就是不知道如何用SQL来实现.