前月の各顧客の最後の3取引の合計金額を取得する必要があります。今日は2012/1/31だとしましょう。前月の各顧客の最後の3取引の合計金額を取得する
使用しているアプローチを使用する理由について、ステップバイステップの回答を提供してください。
たとえば、私が考えた答えがここにあります。それは間違っているかもしれない。
- (選択トップ3を使用して)、前の月の顧客の最後の3つの取引を取得するには、内側のクエリを作成しますCustomerNameの
- によってCustomerTransactionテーブル群を反復処理するためにカーソルを作成し、一時的にそれを挿入テーブル
- 一時テーブル内の結果を選択して合計(金額)を取得し、それをCustomerNameでグループ化します。
だから私は、これらの列を持つCustomerTransactionテーブルを持っている:あなたがそれを必要とする場合はここで
ID, CustomerName, Amount, TransactionDate
はスクリプトです。私は結果をテストするためにそれを使用しています。
insert into Test.dbo.CustomerTransaction (CustomerName, Amount, TransactionDate)
values ('John', 100.0, '2011-12-31'),
('John', 100.0, '2011-12-30'),
('John', 100.0, '2011-12-29'),
('John', 100.0, '2011-12-28'),
('Boyd', 100.0, '2011-12-30'),
('Boyd', 200.0, '2011-12-29'),
('Boyd', 100.0, '2011-12-28'),
('Boyd', 100.0, '2011-12-27')
これまでにお試しいただいた内容は何ですか? – peroija
次回は、あなたのソリューションの一部としてカーソルを使用すると思いますが、自分自身を好きにしてください。 –