監査テーブルを使用して、「2011-01-01 08:00:00.000」で実行された単一の破壊的な SQL ステートメントを記録するものを見つけています。スクリプトが実行されたこの日に、各 MyTable レコードが 1 回だけ更新されたと想定できます。この SQL はおそらくユーザーによって実行されたものであり、取得できません。MyTable が変更されるたびに、新しい値の監査証跡が AuditMyTable に保存されます。
私の元のテーブルスキーマ:
MyTable(AccountId int PK, Amount int)
MyTable スキーマの監査証跡テーブル:
AuditMyTable(AccountId int, Amount int, AuditDate datetime)
私の質問は、次のデータを取得できるように、AuditMyTable からそれ自体に対して SQL 結合を作成する方法です。
AuditMyTable.AccountId, AuditMyTable.Amount as [NullAmount], AuditMyTablePrevious.Amount as [PreviousNotNullAmount]