sqlserver循环查询怎么写

给定一个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递归 可以深入了解一下 楼上的已经写好了。