我有一个与此类似的oracle表
表名:注
NoteID(PK) NoteText ParentNoteID
1 x -
2 y 1
3 z 2
在这里,我需要在notetext上执行类似的查询, note.note_text喜欢'%z%'它仅取出第三条记录。
我希望在获得第三条记录之后记录它的父母的记录。通过类似的查询匹配我需要通过观看返回 parentNoteID。第3条记录的父记录为2,父记录为2,因此应该获取结果 所有三个记录。
为了扩展这一点,如果我的查询匹配两个子记录,显然它应该获得两者的所有父记录。
示例:
NoteID(PK) NoteText ParentNoteID
1 x -
2 y 1
3 z 2
4 a -
5 b 4
6 z 5
note.note_text like '%z%'
应拉出以上所有6条记录。
提前致谢 的Eswar。
答案 0 :(得分:5)
你可以使用连接方法来做到这一点。
例如
之类的东西select *
from tbl1
start with note_text like '%z%'
connect by note_id = prior parent_note_id
会这样做。