小さなデータセットで金額を合計する方法を見つけようとしていますが、特定の行にしかありません。このデータは、変更できない別のシステムから抽出されます。これは、SQLへの1回限りのデータのインポートに使用されるので、きれいで効率的です。特定の人物IDが同じイベントコードに対して複数の支払いを行った行を合計する必要があります。特定の行のみを集計するSQL
このデータでは、AmountPaidとDatePaidを除いて、支払人のすべての列(多くは図示せず)は同じです。私はAmountPaidをSUMにしたい(そして可能ならばDatePaidのMAXを得る)。
データは次のようになります。
EventCode | PersonID | DatePaid | AmountPaid
****
EventA | Person123 |2017-01-01 | $50
EventA | Person456 |2017-02-01 | $100
EventA | Person123 |2017-02-02 | $50
EventB | Person123 |2016-01-01 | $100
EventC | Person456 |2017-07-07 | $200
EventC | Person123 |2017-08-08 | $200
私は何をする必要があることPerson123によって作らEventAの合計だけの支払いである - 合計$ 100(+ 50 50)ので、私は1つの支払取引としてこれをインポートすることができなければなりません。これを希望
理想の結果:
EventCode | PersonID | DatePaid | AmountPaid
****
EventA | Person456 |2017-02-01 | $100
EventA | Person123 |2017-02-02 | $100
EventB | Person123 |2016-01-01 | $100
EventC | Person456 |2017-07-07 | $200
EventC | Person123 |2017-08-08 | $200
おかげで、
もっと多くの列を返す必要がありますか?完全な答えが必要な場合は、完全なソリューションを提供するために必要なすべての情報を含めることをお勧めします。 –
personIDを使用してグループ –
はいすべての列を返す必要があります。抽出されたデータから作成されたテーブルには132の列があり、ここに含めるのに少し時間がかかります。 'Person123'と 'EventA'の他の列は、DatePaidとAmountPaidを除いてすべて同じです。エントリをリンクするために使用できるトランザクション識別子はありません。 – Area51Resident