以下のクエリで何か問題があります。私は、 "カテゴリ"フィールドがA、BまたはCであるかどうかを判断し、そのカテゴリに基づいてフィールドを作成しようとしています。そのフィールドは、支払いフィールドを集計します。しかし、私は "間違った構文でキーワードAsの近くに"というエラーが出ています。私はこれをSQLビューで作成しています。 SQL Server 2008のケースステートメントに基づいてフィールドを作成しようとしています
SELECT r.id, r.category
CASE
WHEN r.category = 'A' then SUM(r.payment) As A_payments
WHEN r.category = 'B' then SUM(r.payment) As B_payments
WHEN r.category = 'C' then SUM(r.payment) As C_payments
END
FROM r_invoiceTable As r
GROUP BY r.id, r.category
を使用して、私は私が持っているデータは、A、BおよびC
サンプルデータ - r_invoiceTable
Id --- Category ---- Payment
222 A ---- 50
444 A ---- 30
111 B ---- 90
777 C ---- 20
555 C ---- 40
を持っているので、上記の例すべてを実行すべきデータを持っています希望の出力 A_payments = 80、B_payments = 90、C_payments = 60
はい、3つのフィールドが必要です...フィールドを1つしか持てません。私は3つの別々のフィールドがカテゴリに基づいて支払の合計で作成される必要があります。あなたが計算しているすべてのカテゴリに対して同じ 'SUM'; – dido
; 'CASE'を使用するポイントは何ですか? – mshsayem
@mshsayemよくすべてのカテゴリは異なる合計を持つでしょう。だから私はカテゴリー別にそれを分離する必要があります – dido