4
以下是表結構的簡化版本。創建此場景的查詢時丟失了
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
我不知道如何得到這些結果。任何幫助將不勝感激。
好吧,+1可能是今天第一個在日期/時間列中存儲日期/時間值的人。 –
OldID的示例值看起來像新記錄的ID ... – vasja
如果我在示例中使用了guid,它會有點棘手,看到這些鏈接,這就是爲什麼我在發佈時提到它「我正在使用整數值作爲標識符讓這個例子更容易理解。「 –