0
我有下面兩個表。SQL Server 2008中-Joining馬克斯上的多個表中的值
a.id a.UpdateDate a.O a.1 b.id b.UpdateDate b.0 b.1
1 1/1/15 a b 1 2/1/15 a b
1 1/1/15 c d 1 3/1/15 a c
1 5/1/15 e f 1 3/1/15 d e
我希望每個ID都能看到一行。表a的最新更新日期表b的最新更新日期然後將這兩個表加入到Id中。這樣我就可以從兩個表中獲得最近的更新,每個ID有一行。
a.id a.UpdateDate b.id b.UpdateDate a.o a.1 b.0 b.1
1 5/1/15 1 3/1/15 e f d e
我想要兩個表的最大值,並在接下來的步驟掙扎。 編輯 - 我需要兩個表的最新UpdateDate和id(1行每個ID),那麼我想加盟表A和B的ID。
Select a.id, a.UpdateDate, b.id, b.UpdateDate
From a
inner join (select id, max(UpdateDate) AS dt From a group by id)
maxdt On A.id = maxdt.id and a.UpdateDate = maxdt.UpdateDate
上述解決方案從表a中提取最大UpdateDate。現在我將如何從表b中提取最大UpdateDate?我希望這是明確的...
Quassnoi - 不知道這是行不通的。如果我想從表A或B添加一列,我將不得不將這些列添加到內部選擇和分組中,對嗎?我試圖避免這樣做,並且我已經捕獲了上面的第一部分到我自己加入的地方。我希望我也可以用B表做這個。 –
@mrjohn:爲什麼你需要添加其他列來選擇和分組? – Quassnoi
後面的結果集中只有id和最大日期有additioanl列需要添加。我有大約40列。 –