今天是个好日子!首先,我为我糟糕的英语感到抱歉。好吧,我有一个问题,您可以在此消息的标题中阅读。
当我尝试选择必要的数据时,SQL Server 会返回此消息(错误 253)。
“来自 CTE 的递归元素(名称为‘recurse’——我的笔记)在 CTE 中有多个引用。
我怎么解决这个问题?
你能建议我如何连接两个表(有 2 列(例如:a 和 b),它们是先前递归选择的结果(我正在写相同的选择,但关于 if 的另一个迭代)
with recurse (who_acts,on_whom_influence)
as
(
-------------------------------------------FIRST SELECT
select distinct interface_1.robot_name as who_acts,interface_2.robot_name as on_whom_influence
from INTERFACE as interface_1,INTERFACE as interface_2
where (interface_1.number in ( select INPUT_INTERFACE.source
from INPUT_INTERFACE
)
and interface_2.number in (
select INPUT_INTERFACE.number
from INPUT_INTERFACE
where (INPUT_INTERFACE.source=interface_1.number )
)
)
-------------------------------------------RECURSIVE PART
union all
select rec1.who_acts,rec1.on_whom_influence
from recurse as rec1
inner join
(select rec2.who_acts,rec2.on_whom_influence
from recurse as rec2) as P on (1=1)
)
select * from recurse
问题在于递归CTE。连接条件并不简单,但对这个问题没有影响。你能在评论中输入一些工作代码吗