我正在使用 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
根据员工 Peter(员工 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。
我试图做一些类似于此线程中第一个答案的事情:如何获得列字段的两行之间的差异?
但是,它没有走到一起,所以想知道是否有人可以提供帮助。