2
我有類似這樣得到子記錄所有父記錄
表名Oracle表:注意
NoteID(PK) NoteText ParentNoteID
1 x -
2 y 1
3 z 2
在這裏,我需要在notetext的頂部執行查詢一樣說, note.note_text像'%z%'這樣只有第三個記錄。
我希望在得到第三條記錄之後拉取其父母的記錄,這通過類似查詢匹配我需要通過查看 parentNoteID返回。因此,第3條記錄的父記錄爲2,父記錄2的結果是1.因此結果應該取 所有三條記錄。
爲了擴展這個,如果我的查詢匹配兩個子記錄,顯然它應該獲得所有的父母記錄。
實施例:
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。
哇!這真是太棒了.Kudos.I只是修改了查詢以滿足我的需求select * from NOTE通過NOTE_TEXT開始,像'%Child%'通過之前的PARENT_NOTE_ID = NOTE_ID連接; – user1650864
嗨,謝謝你的迅速和迷人的迴應。如果你能解釋如何使用兩種連接方式,那將會更好。我試圖查詢像'select * 從tbl1 開始與note_text'%z%' 通過以前的PARENT_NOTE_ID = NOTE_ID和NOTE_ID = PARENT_NOTE_ID'連接,目的是獲取所有子記錄,如果類似的查詢匹配父線程,還反之亦然。但它僅適用於通過聲明進行的第一次連接,而不考慮第二次連接。謝謝。 – user1650864
@ user1650864你的意思是你想要遍歷樹以及它嗎?例如'通過nocycle noteid = previous parentnoteid或previous noteid = parentnoteid'連接?例如http://sqlfiddle.com/#!4/9afd0/1..weid也有id = 10,即使它是matchind id = 3行的孩子。 – DazzaL