SQL Server 2005 を使用しています。
フィールドが変更されるたびに行のアーカイブを持つテーブルがあります。従業員ごとに変更されたフィールドを表示するレポートを作成する必要があります。
私のテーブルスキーマ:
tblEmp(empid, name, salary, createddate)
私のテーブルデータ:
Row 1: 1, peter, 1000, 11/4/2012
Row 2: 1, peter, 2000, 11/5/2012
Row 3: 1, pete, 2000, 11/6/2012
Row 4: 1, peter, 4000, 11/7/2012
従業員ピーター (従業員 ID 1) の上記のデータに基づくと、出力 (変更) は次のようになります。
結果セット:
1, oldsalary: 1000 newsalary: 2000 (changed on 11/5/2012)
1, oldname: peter newname: pete (changed on 11/6/2012)
1, oldname: pete newname: peter, oldsalary:2000, newsalary: 4000 (changed on 11/7/2012)
上記の結果セットを生成するSQLを考え出そうとしています。
このスレッドの最初の回答と同様のことを試みました:列フィールドの 2 つの行の違いを取得するにはどうすればよいですか?
しかし、それは一緒に来ていないので、誰かが助けてくれるかどうか疑問に思っています.