递归选择语句



我有以下表格条目:

 Col1    |    Col2
 ------------------
  3RDT   |  3R9H
  3R9H   |  
  3R9J   |  3RDT
  3R9J   |  3R9H
  3HHA   |  3ABC
  3XXZ   |  3HHA

我有一个价值3R9J.现在我想要 Col1 具有该值的所有记录,在本例中为记录 3 和 4。

现在我获取此记录的 Col2 值(3RDT3R9H ),并将其视为我的新 Col1 值,以获取具有 Col1 值3RDT3R9H的所有记录。

这应该递归完成。此外,它还应该选择另一个方向的所有记录。如果我从 Col1 的3RDT开始,我会得到 Col2 3RDT (3) 的记录,然后我有 Col1 的3R9J,并获取我3R9J为 Col1 值的所有记录。

上面示例中的预期输出数据应该是前 4 条记录。

如果我

正确理解了您的问题,则此查询将完成这项工作。

SQLFiddle

select *
  from test
  connect by col1 = prior col2
  start with col1 = '3R9J'
union
select *
  from test
  connect by prior col1 = col2
  start with col1 = '3RDT';

请注意,union导致每行显示一次。

相关内容

  • 没有找到相关文章

最新更新