我想将cte查询结果集赋值给table类型的变量,或者将某一列作为in查询的条件?这个怎么语法是怎样的?
例如下列sql语句,试图把一个邻接表的cte查询结果集作为对另一个表的selec语句的id列的in查询条件。直接执行会抛出语法错误
select * from table where id in(
WITH cte AS(
SELECT top 1 id,Pid
FROM Ralation_Table WHERE id=1
UNION ALL
SELECT a.id,a.Pid
FROM Ralation_Table AS a
INNER JOIN cte ON a.id=cte.Pid
)
SELECT id FROM cte )