sql递归查询的一个实际问题.求帮助,谢谢.

2025-01-21 00:50:50
推荐回答(3个)
回答1:

declare @knowName nvarchar(200);
set @knowName = N'SQL编程';
with cte_a
as
(
select * from [试题属性] where [知识点名称] = @knowName
union
select b.* from [试题属性] as b inner join cte_a as a
on b.[父知识点名称] = a.[知识点名称]
)
select * from cte_a

回答2:

这个要看你数据库是什么数据库了。
如果是 SQL Server 2005 以及 以上版本的话, 是可以通过 CTE 语法, 实现 递归查询的。

SQL Server 2000 与以下的版本, 不支持 CTE.

回答3:

你是只查询 “包含该知识点的子知识的试题” 吗,有没有孙子节点?