如何使sql选择循环(简单的递归查询)

时间:2016-10-12 07:38:30

标签: sql oracle

我有一张桌子,我有NEW_VERSION和OLD_VERSION列 OLD_VERSION也有它的旧版本。 我需要进行查询,这将选择版本的整个历史记录

例如: 表versions_table:

SELECT * FROM versions_table WHERE NEW_VERSION = 11.111 ...

我们只知道最新版本“11.111”。 对于查询OLD_VERSION | NEW_VERSION 10.333 11.111 9.222 10.333 8.111 9.222 7.999 8.111 输出应该是:

{{1}}

请您告诉我,适合的方法是什么?

谢谢!

1 个答案:

答案 0 :(得分:3)

这是一个(简单的)递归查询:

select *
from versions
start with new_version = '11.111'
connect by prior old_version = new_version;