给定一个parentId,查询到所有的Id,再根据获取到的id作为parentId继续查询,直到根据parentId不能获取数据,最后返回所有的id。如果sqlserver自己不能实现需通过例如java语言实现,应该怎么写。
可以实现的,使用CTE即可
;with cte(id,parentid,text)
as
(
select id,parentid,text from treeview where parentid = 450
union all
select t.id,t.parentid,t.text from treeview as t
inner join cte as c on t.parentid = c.id
)
select id,parentid,text from cte
这不是sql递归吗 你去网上查sql递归 可以深入了解一下 楼上的已经写好了。