我有一個項目ID和一個'inherit id'的記錄,即當前項目繼承的項目。繼承級別未知。SQL遞歸記錄:如何摺疊爲「僅限一個級別」?
我現在需要摺疊此於:
例如, '從最頂部的繼承':
1006 <- 1005 <- 1002 <- 999
prj_id/inherit_id
999/1002
1002/1005
1005/1006
應崩
1006 <- 1005
1006 <- 1002
1006 <- 999
prj_i d/inherit_id
999/1006
1002/1006
1005/1006
這可以在沒有循環的SQL語句中完成嗎? 創建臨時表很好。 應該爲火鳥,SQL Server的工作,甲骨文9+(即3套報表是罰款)
我只得到了這麼遠:
,從本身的紀錄繼承記錄再次繼承:
select tt_prj_id,tt_name,tt_inherit_id from tt_prj a
where a.tt_inherit_id in
(select tt_prj_id from tt_prj b
where b.tt_inherit_id is not null
and b.tt_inherit_id > 0)
誰能幫我進一步?
據我所知,甲骨文是支持[分層查詢]唯一的引擎(http://docs.oracle .com/cd/B19306_01/server.102/b14200/queries003.htm)。 – dasblinkenlight 2012-01-04 13:48:23
在MYSQL中,你也可以使用group_concat函數。 – 2012-01-04 13:54:37
「根」項目具有什麼作爲inherit_id? – Alex 2012-01-04 13:56:24