Sign-up....

Oralce 递归查询问题。

现实生活中有这样一个例子,

汉口国税局的上级是武汉国税局,武汉国税局的上级是湖北省国税局,湖北省国税局的上级是国家税务局。当然汉口国税局下面还有很有很多税务机关。

因此有这样的表来描述税务机关。

SWJG表,字段 swjgdm(税务机关代码),swjgmc(税务机关名称),sjswjgdm(上级税务机关代码).

现有这样的一个查询,告诉你一个税务机关代码,要你查询它所有下级税务机关信息和所有上级税务机关信息。

这个查询怎么写,望不吝赐教!

[226 byte] By [msdn] at [2007-8-15 9:50:09]
# 1 Re: Oralce 递归查询问题。

select t.* from SWJG t start with t.swjgdm='aaa' connect by prior t.sjswjgdm= t.swjgdm

shunbing at 2006-5-15 21:03:11 >
# 2 Re: Oralce 递归查询问题。

select t.*

from SWJG t

start with t.swjgdm='aaa'

connect by prior t.sjswjgdm= t.swjgdm

是对得

renkeyuan at 2006-5-15 21:37:40 >
# 3 Re: Oralce 递归查询问题。

有一点疑惑;

对照以上的例子,我查过ORACLE的资料里写法是这样的:

select t.*

from SWJG t

connect by t.sjswjgdm= prior t.swjgdm

start with t.swjgdm='aaa'

————————————————————

其中的区别是 connect by和start with的位置前后调换了

另一个不同是 prior 放到了定义的联系里面去了。

请问意义是否一样呢?

sohome at 2006-5-15 21:57:59 >
# 4 Re: Oralce 递归查询问题。

真诚感谢楼上各位!!

wtjd at 2006-5-16 13:20:27 >

Oracle

All Classified