[sql] SQL 쿼리 내에서 두 필드를 합산하는 방법

동일한 행에있는 총 두 개의 필드를 가져 와서 동일한 행의 끝에있는 필드에 해당 숫자를 입력해야합니다.

이것은 내 코드입니다.

Sum(tbl1.fld1 + tbl1.fld2) AS [Total]

이것이 SUM 함수가 사용되는 용도입니까, 아니면 열 합계를 얻기 위해 SUM 함수 만 사용할 수 있습니까?

감사



답변

SUM집계 함수입니다. 각 그룹의 합계를 계산합니다. +행에서 두 개 이상의 열을 계산하는 데 사용됩니다.

이 예를 고려하십시오.

ID  VALUE1  VALUE2
===================
1   1       2
1   2       2
2   3       4
2   4       5

 

SELECT  ID, SUM(VALUE1), SUM(VALUE2)
FROM    tableName
GROUP   BY ID

결과가 될 것이다

ID, SUM(VALUE1), SUM(VALUE2)
1   3           4
2   7           9

 

SELECT  ID, VALUE1 + VALUE2
FROM    TableName

결과가 될 것이다

ID, VALUE1 + VALUE2
1   3
1   4
2   7
2   9

 

SELECT  ID, SUM(VALUE1 + VALUE2)
FROM    tableName
GROUP   BY ID

결과가 될 것이다

ID, SUM(VALUE1 + VALUE2)
1   7
2   16


답변

다음을 시도하십시오.

SELECT *, (FieldA + FieldB) AS Sum
FROM Table


답변

SUM은 여러 행에 대한 열의 값을 합산하는 데 사용됩니다. 열을 함께 추가 할 수 있습니다.

select tblExportVertexCompliance.TotalDaysOnIncivek + tblExportVertexCompliance.IncivekDaysOtherSource AS [Total Days on Incivek]


답변

ID  VALUE1  VALUE2
===================
1   1       2

1   2       2
2   3       4
2   4       5

select ID, (coalesce(VALUE1 ,0) + coalesce(VALUE2 ,0) as Total from TableName


답변

내 평판 포인트가 50 미만이기 때문에 위의 E Coder의 답변에 대해 댓글을 달거나 투표 할 수 없었습니다. 비슷한 문제가 있었기 때문에 그룹을 사용할 필요가 없도록 이것이 가장 좋은 방법입니다. Total
로 수행 SUM((coalesce(VALUE1 ,0)) + (coalesce(VALUE2 ,0)))하면 원하는 수를 얻을 수있을뿐만 아니라 Group By를 수행하지 않은 오류도 제거 할 수 있습니다. 이것은 내 질문이었고 각 딜러에 대한 총 개수와 총 금액을 제공 한 다음 품질 및 위험 딜러 대출에 대한 소계를 제공했습니다.

SELECT
    DISTINCT STEP1.DEALER_NBR
    ,COUNT(*) AS DLR_TOT_CNT
    ,SUM((COALESCE(DLR_QLTY,0))+(COALESCE(DLR_RISKY,0))) AS DLR_TOT_AMT
    ,COUNT(STEP1.DLR_QLTY) AS DLR_QLTY_CNT
    ,SUM(STEP1.DLR_QLTY) AS DLR_QLTY_AMT
    ,COUNT(STEP1.DLR_RISKY) AS DLR_RISKY_CNT
    ,SUM(STEP1.DLR_RISKY) AS DLR_RISKY_AMT
    FROM STEP1
    WHERE DLR_QLTY IS NOT NULL OR DLR_RISKY IS NOT NULL
        GROUP BY STEP1.DEALER_NBR


답변

sum 함수는 열의 합계 만 가져옵니다. 서로 다른 열의 두 값을 합하려면 값을 int로 변환하고 +-연산자를 사용하여 더합니다.

Select (convert(int, col1)+convert(int, col2)) as summed from tbl1

도움이되기를 바랍니다.


답변

두 개의 열을 함께 추가하려면 추가하기 만하면됩니다. 그런 다음 쿼리에서 반환 된 각 행에 대해 두 열의 합계를 얻습니다.

코드에서 수행하는 작업은 두 열을 함께 추가 한 다음 합계를 얻는 것입니다. 작동하지만 달성하려는 것이 아닐 수도 있습니다.