2017-12-12 58 views
0

列内の2つの値を一緒に試してみます。アイデアは、基準に合ったm1、m2、m3の値を得ることです。領域= '000000'、所有権= '50'、コード= 113または114です。値は、それぞれ42,40、および44でなければなりません。これまでExcelでこれを行ってきましたが、Excelをこのプロセスから抜け出そうとしています。これに関係するNULL値はありません。"sum関数には1つの引数が必要です。"エラー

なぜこのエラーが発生するのですか? SQLで

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 

所望の結果

000000  50  113+114 42 40 44 

答えて

1

SUM(column)は異なる行を横切って値を合計集計関数です。 1行の値を追加する場合は、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

ご協力ありがとうございます。これは美しく働いた。 –

関連する問題