Oralce 递归查询问题。
现实生活中有这样一个例子,
汉口国税局的上级是武汉国税局,武汉国税局的上级是湖北省国税局,湖北省国税局的上级是国家税务局。当然汉口国税局下面还有很有很多税务机关。
因此有这样的表来描述税务机关。
SWJG表,字段 swjgdm(税务机关代码),swjgmc(税务机关名称),sjswjgdm(上级税务机关代码).
现有这样的一个查询,告诉你一个税务机关代码,要你查询它所有下级税务机关信息和所有上级税务机关信息。
这个查询怎么写,望不吝赐教!
现实生活中有这样一个例子,
汉口国税局的上级是武汉国税局,武汉国税局的上级是湖北省国税局,湖北省国税局的上级是国家税务局。当然汉口国税局下面还有很有很多税务机关。
因此有这样的表来描述税务机关。
SWJG表,字段 swjgdm(税务机关代码),swjgmc(税务机关名称),sjswjgdm(上级税务机关代码).
现有这样的一个查询,告诉你一个税务机关代码,要你查询它所有下级税务机关信息和所有上级税务机关信息。
这个查询怎么写,望不吝赐教!
select t.* from SWJG t start with t.swjgdm='aaa' connect by prior t.sjswjgdm= t.swjgdm
select t.*
from SWJG t
start with t.swjgdm='aaa'
connect by prior t.sjswjgdm= t.swjgdm
是对得
有一点疑惑;
对照以上的例子,我查过ORACLE的资料里写法是这样的:
select t.*
from SWJG t
connect by t.sjswjgdm= prior t.swjgdm
start with t.swjgdm='aaa'
————————————————————
其中的区别是 connect by和start with的位置前后调换了
另一个不同是 prior 放到了定义的联系里面去了。
请问意义是否一样呢?
真诚感谢楼上各位!!