のトランザクション テーブル (履歴) がありCreatedDate
ます。このトランザクションは、従業員のトランザクション テーブルに関連しています。(transact_id の内部結合)
そうは言っても、問題が発生します。これらのテーブルにクエリを実行し、月ごとに状態を取得する必要があります。これは、年の間にCreatedDate
変化する可能性があるためです。例: 7 月の従業員の更新により新しい行が作成されますが、これは 3 月の合計には影響しません。
ソリューションはforechのように見えますが、最後にすべての行を結合するにはどうすればよいですか? 結果は次のようになります。
- 1月 - $123
- 2月 - $234
- 3 月 - $123
- ...
これで各従業員の最後の状態を取得します。
select AllTransact.id_employee, AllTransact.id_department from (
select id_employee, id_department, rank() over (partition by id_employee order by created_date desc) desc_rank
from Transact_Employee TransEmployee
inner join Transact on TransEmployee.ID_Transact = Transact.ID_Transact
and Transact.Status = 8
and Transact.Created_Date < @currentMonth) AllTransact
where desc_rank = 1
*すべてのコードを 12 回もコピー アンド ペーストしたくありません。:)