2017-12-12 10 views
0

열에 2 개의 값을 함께 표시하려고합니다. 아이디어는 기준에 맞는 m1, m2 및 m3 값을 얻습니다. 영역 = '000000', 소유권 = '50'및 코드 = 113 또는 114입니다. 값은 각각 42, 40 및 44 여야합니다. 지금까지 Excel에서이 작업을 수행했지만 Excel을이 프로세스에서 제거하려고합니다. 이것에 관련된 NULL 값은 없습니다."합계 함수에는 1 개의 인수가 필요합니다." 오류

이 오류가 발생하는 이유는 무엇입니까?

select sum (m1,m2,m3), 
from dbo.tablename 
where area='000000' and ownership='50' and (code='113' or code='114'); 

샘플 데이터

area ownership code m1  m2 m3 
000000  50  113 40  38  42 
000000  50  114  2  2  2 

원하는 결과 SQL에서

000000  50  113+114 42 40 44 

답변

1

, SUM(column) 다른 행으로 값을 합산 집합 함수이다. 단일 행의 값을 추가하려면 SELECT m1 + m2 + m3 FROM...을 사용할 수 있습니다. 또한 행 내부에 열 값을 추가 한 다음 SUM(m1 + m2 + m3)과 같은 행을 합할 수 있습니다. 다시 쿼리를 쓸 것입니다 :

SELECT SUM(m1) sum1, SUM(m2) sum2, SUM(m3) sum3 
FROM dbo.tablename 
WHERE area='000000' AND ownership='50' AND (code='113' OR code='114'); 
+0

., 귀하의 답변은 행 전체에서 합계됩니다. 그 이후 최종 결과가 어떻게 나타나는지 보여주기 위해 내 질문을 편집했습니다. –

+0

@TimWilcox가 내 대답을 편집하여 원하는 결과를 얻었습니다. – zambonee

+0

도움 주셔서 감사합니다. 이것은 아름답게 작동했습니다. –