一sql语句求解
有两张表如下
表1是原始表,表2的内容是把上级和下级的全部对应起来,包括自己,
比如表1上级2对应的下级有30,20,然后30的下级又有300
在表2中就要写4条记录,分别为30,20,300,2这几个下级。
不知道大伙能听明白否
表1
上级 下级
1 20
2 30
3 10
2 20
30 300
表2
上级 下级
1 20
1 1
2 30
2 20
2 2
3 10
3 3
30 300
2 300
300 300
------解决方案--------------------select * from test
start with 上级=1 //上级
connect by prior 下级=上级
prior 表示上条纪录
prior 下级=上级 上条纪录的 下级=本条的 上级
具体找start with用法
------解决方案--------------------楼主希望的应该是 这样的结果吧:
上级 下级
1 20
1 1
2 30
2 20
2 2
3 10
3 3
30 300
2 300
30 30
------解决方案--------------------用一条语句实现似乎有困难。