私は "生産"テーブルのレコードの変更を "履歴"テーブルに記録するアプリケーションを持っています。履歴テーブルは基本的に、本番テーブルのフィールドコピーのフィールドです。最後に変更された日付、最後にユーザーによって変更された列などが追加されます。T-SQL履歴テーブルのステータス変更を確認します
これは、レコードのスナップショット変更。ただし、レコードのユニークなステータス変更を判断することは困難です。以下に例を示します。
BoxID StatusID SubStatusID ModifiedTime
1 4 27 2011-08-11 15:31
1 4 11 2011-08-11 15:28
1 4 11 2011-08-10 09:07
1 5 14 2011-08-09 08:53
1 5 14 2011-08-09 08:19
1 4 11 2011-08-08 14:15
1 4 9 2011-07-27 15:52
1 4 9 2011-07-27 15:49
1 2 8 2011-07-26 12:00
あなたがBoxID 1は、生産履歴の9つの変更があった(データは簡潔さとセキュリティのために取り外し、他の分野との実際のシステムから来ている)上記の表に見ることができるように。これらの更新によってステータスが変更されたり、ステータスが変更されたりすることがありました。これは、他のフィールド(図示せず)が変更されたことを意味します。
このデータから一意のステータス変更を抽出できるようにする必要があります。上記の入力表を見れば、私が探している出力は以下の通りです。
BoxID StatusID SubStatusID ModifiedTime
1 4 27 2011-08-11 15:31
1 4 11 2011-08-10 09:07
1 5 14 2011-08-09 08:19
1 4 11 2011-08-08 14:15
1 4 9 2011-07-27 15:49
1 2 8 2011-07-26 12:00
これはStatusIDとSubStatusIDによってグループ分けして、min(ModifiedTime)
を取って戻ってステータスが同様に後方に行くことができますので、履歴テーブルに参加するほど簡単ではありません(、StatusID 4参照11は二回設定されますSubStatusID)。
ご協力いただければ幸いです!
を確認してください。これは非常にうまくいきました。ありがとうございました! – thomas