임시 결과 집합 (코드의 SOURCE)에 저장된 데이터를 사용하여 SQL Server 2012로 다른 테이블을 채우려고합니다. 아래 코드를 실행할 때 "다중 부분 식별자"SOURCE.JnlDetoaId "를 바인딩 할 수 없습니다"오류가 발생했습니다.다중 부분 식별자 "field"를 바인딩 할 수 없습니다.
SELECT Journaldet.*, Agency.ID_Agency INTO SOURCE
FROM Journaldet
inner join Agency
ON Agency.Agency_ID = Journaldet.AgenceId
IF ((SELECT COUNT(Journal.Journal_ID) FROM dbo.Journal, SOURCE WHERE Journal_ID = SOURCE.JournalId)=0)
INSERT INTO Discarded.JournalDet(JournalDet_ID, Amount, Sensoa, DetoaId, ID_Agency, JournalId, Appli_Source, ReasonDiscarded, DateDiscarded)
VALUES (SOURCE.JnlDetoaId, SOURCE.Amount, SOURCE.Sensoa, SOURCE.DetoaId, SOURCE.ID_Agency, JournalId, 'GameApps','Member not yet inserted', GETDATE());
여기에 대한 일부 스레드를 읽었지만 내 사례에 적용하는 방법을 보지 못했습니다. 도움이 필요하십니까?
별칭을 사용해보세요. like : FROM dbo.Journal은 j, SOURCE는 s입니다. – user2919277
"SOURCE.JnlDetoaId"의 위치에서 "s.JnlDetoaId"와 동일한 오류가 발생했습니다 (SOURCE가 s로 별칭 지정됨). 필자가 원하는 것은 첫 번째 SELECT의 데이터를 결과 집합에 포함시키는 것입니다. 즉, 임시 테이블, 매개 변수 또는 다른 것으로 - 첫 번째 SELECT 다음에 IF와 같은 추가 식에서 해당 결과 집합을 사용할 수 있습니다. –
소스가 다른 테이블 이름입니까? U이 테이블을 정의 했습니까? – user2919277