이 질문에 대한 답변을 얻었지만 여러 가지 예제를 통해 INNER JOIN을 사용하여 한 테이블에서 다른 테이블로 데이터를 전송하고 상황이 조금 다릅니다. .SQL Server의 한 테이블에서 집계 함수를 사용하여 쿼리 업데이트
기본적으로이 작업은 SELECT 문을 Update 문으로 변경하는 것입니다.
SELECT
SR, 100. * Cast(Round(AVG(Three_1 + Three_2 + Three_3 + Three_4 + Three_5 + Three_6 + Three_7 + Five_1 + Six_1 + Six_3)/38,0) as int)
FROM
MainDB
WHERE
Ctype = 'Call'
GROUP BY
SR
필자는 일부 열의 백분율을 성공적으로 계산할 수 있었지만 그 정보로 열을 업데이트하려고했습니다. 내 첫 번째 시도 내가 오류가있어이
UPDATE QAMainDB
SET TCX_score = 100. * avg(three_1 + Three_2 + Three_3 + Three_4 + Three_5 + Three_6 + Three_7 + Five_1 + Six_1 + Six_3)/38
했다 : 더 흔적을 수행 한 후
An aggregate may not appear in the set list of an UPDATE statement.
및 오류 나는 스택에 앞의 예에서 변수를 선언하기 위해이 방법을 시도했다.
Declare @Result Decimal = 0
SET @Result = 100. * Cast(round(avg(three_1 + Three_2 + Three_3 + Three_4 + Three_5 + Three_6 + Three_7 + Five_1 + Six_1 + Six_3)/38,0) as int)
UPDATE QAMainDB
SET TCX_score = @Result
WHERE Ctype = 'Call'
그러나 실패했습니다. 여러분 중 누가 올바른 방향으로 나를 안내하여 나를 도와 줄 수 있는지 궁금합니다. 나는 SQL에 익숙하지 않으므로 제발 참아주십시오.
감사합니다.
덕분에, 그럼 처음에는 내가 열을 일치하지만하기 위해 ID를 사용 한 후 나는 다른 이유로 SR로 변경되었습니다. 어쨌든 나는 앞의 예제에서 INNER JOIN 기법을 사용하려고 할 때 코드와 함께 동일한 에러를 얻었을 때 simular라는 코드를 시도했다. – Playergoodi
'm'열 2에 대해 열 이름이 지정되지 않았습니다. – Playergoodi
관리 스튜디오에서 실행 한 후 감사합니다. VS studio 객체 탐색기를 사용하고있었습니다. – Playergoodi