모두 좋은 하루! 첫째, 가난한 영어에 대해 유감입니다. 글쎄, 나는이 메시지의 제목에서 읽을 수있는 질문이있다.SQL Server에서 이전 재귀 선택의 결과 인 두 개의 동일한 테이블을 조인하는 방법
SQL Server는 필요한 데이터를 선택하려고 할 때이 메시지 (오류 253)를 반환합니다.
Translate "Recursive element from CTE (which name is 'recurse' - my note) has multiple reference in CTE.
이 문제를 어떻게 해결할 수 있습니까?
이전 재귀 선택 결과 인 두 개의 열 (예 : 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.The 연결 조건이 간단하지 않다,하지만이 문제에 아무런 영향이없는 같이 Recurse입니다. 당신이
** 당신은 ** 문제의 질문을 ** 표시하고 관련된 테이블과 그 구조를 설명 할 수 있습니까? –
방금 it.perhaps이 코드는 작동하지 않지만 코드를 모두 작성하고 그 모두를 디버깅 할 수 없습니다. – NDGO
첫 번째 선택은 올바른 데이터 집합을 반환하고 두 번째 부분은 MS SQL을 나타냅니다. – NDGO