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
这个要看你数据库是什么数据库了。
如果是 SQL Server 2005 以及 以上版本的话, 是可以通过 CTE 语法, 实现 递归查询的。
SQL Server 2000 与以下的版本, 不支持 CTE.
你是只查询 “包含该知识点的子知识的试题” 吗,有没有孙子节点?