이 쿼리를 실행하려고하면 "The multi-part identifier"# EachEmployee.ResultID를 바인딩 할 수 없습니다. 오류.SQL 오류 다중 부분 식별자를 바인딩 할 수 없습니다.
DECLARE @QueryText VARCHAR(1000)
SET @QueryText = '
UPDATE #EachEmployee2
SET #EachEmployee2.CorrectAnswerCount = (
SELECT COUNT (TMID)
FROM
' + @WorkDatabaseName + '.dbo.TestBlockTM AS TBTM,
' + @WorkDatabaseName + '.dbo.TestResultTM AS TRTM
WHERE 1 = 1
AND TBTM.TMID = TRTM.OtvetID
AND TBTM.TMPID = TRTM.VoprosID
AND TRTM.TestResultID = #EachEmployee2.ResultID
)
WHERE
#EachEmployee2.IsGroup = 0 AND #EachEmployee2.BlockID = 1'
EXECUTE(@QueryText)
그러나, 유사한 쿼리는 완벽하게 작동된다
UPDATE #EachEmployee2
SET #EachEmployee2.ResultID = (
SELECT TOP 1 TestResultID
FROM #AnswersList AS a
WHERE 1 = 1
AND a.SID = #EachEmployee2.SID
AND a.UserID = #EachEmployee2.UserID
)
사람은 문제가 여기에 무엇을 말할 수 있는가? 감사와 도움을 주셔서 감사합니다.
SET @QueryText = '
UPDATE #EachEmployee2
SET CorrectAnswerCount = (
SELECT COUNT (TMID)
FROM
' + @WorkDatabaseName + '.dbo.TestBlockTM AS TBTM,
INNER JOIN ' + @WorkDatabaseName + '.dbo.TestResultTM AS TRTM ON TRTM.OtvetID = TBTM.TMID
AND TRTM.VoprosID = TBTM.TMPID
AND TRTM.TestResultID = E.ResultID
)
FROM #EachEmployee2 E
WHERE E.IsGroup = 0
AND E.BlockID = 1'
내가
FROM
절을 추가하고 대체하기 위해 비트를 서브 쿼리를 수정 :
도움이됩니다. 솔직하게, 나는 "UPDATE..SET .."표현 후에 FROM을 사용할 수 있다는 것을 몰랐다. 당신의 도움을 주셔서 감사합니다. – Yenn
매일 새로운 것을 배우는 것을 환영합니다. –