这是表结构的简化版本。
Employee
(
ID GUID NOT NULL
OldID GUID NULL
Name VARCHAR(50) NOT NULL
CreationDate DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
)
它包含员工信息以及对员工属性所做的任何更改。这样我们就可以对所做的更改进行完整的审核。当 OldID 为 NULL 时,这基本上意味着最新的数据。这是一个示例,我使用整数值作为标识符以使此示例更易于理解。
ID OldId Name CreationDate
13 NULL John 15-July-2013
12 13 John1 14-July-2013
11 12 John2 13-July-2013
10 11 John3 12-July-2013
121 NULL Smith 15-July-2013
首先,我可以通过以下方式从表中获取独特的员工
SELECT ID, Name FROM Employee WHERE OldId IS NULL
我正在寻找最新的 ID,但它的最早名称。所以结果应该是两行
ID Name
13 John3
121 Smith
我不确定如何获得这些结果。任何帮助将不胜感激。