我有一个类似于此的oracle表
表名:注意
NoteID(PK) NoteText ParentNoteID
1 x -
2 y 1
3 z 2
Run Code Online (Sandbox Code Playgroud)
在这里,我需要在notetext上面执行类似的查询,例如'%z%'这样的note.note_text,它会单独提取第三条记录.
我希望在获得第三条记录之后拉出它的父母的记录.通过查询匹配,我需要通过查看parentNoteID返回.所以第3条记录的父记录是2,父记录2是1.所以结果应该获取所有三个记录.
为了扩展这一点,如果我的like查询匹配两个子记录,显然它应该获得两者的所有父记录.
例:
NoteID(PK) NoteText ParentNoteID
1 x -
2 y 1
3 z 2
4 a -
5 b 4
6 z 5
Run Code Online (Sandbox Code Playgroud)
note.note_text like '%z%' 应拉,以上所有6条记录.
在此先感谢Eswar.
你可以使用connect by来做到这一点.
比如说像
select *
from tbl1
start with note_text like '%z%'
connect by note_id = prior parent_note_id
Run Code Online (Sandbox Code Playgroud)
会做的.
示例小提琴:http://sqlfiddle.com/#!4/0c6ea/1
| 归档时间: |
|
| 查看次数: |
4078 次 |
| 最近记录: |