表:
id parent_id name
1 0 root
2 1 a
3 2 b
4 3 c
如果根据id = 4查询id = 1的name值,除了做递归和用循环,还有啥好办法。
Oracle中可以用start with connect by 来查,anywhere有没有类似的办法
------解决方案--------------------
没有办法,只能循环或者递归处理。
------解决方案--------------------
不建议用递归,建议用循环,效率高一些,递归总是让人担心的。
select parent_id, name into @parID, @name from t_table where id = @currentID
while @parID>0
select parent_id, name into @parID, @name from t_table where id = @currentID
end while
set @parentID = @parID
语法你自己改一下吧