得到了在SQL Server 2005中,這是用來維持合併操作的歷史記錄此表:查找單錶鏈(SQL Server)的最後一個記錄
- 列FROM_ID(INT)
- 列TO_ID(int)
現在我需要一個查詢,它將原始的FROM_ID作爲輸入,並返回最後一個可用的TO_ID。
因此,例如:
- ID 1被合併到ID 2
- 稍後,ID 2被合併到ID 3
- 稍後再次,ID 3被合併以ID 4
所以我試圖放在一起的查詢將作爲輸入(在WHERE子句中,我假設)ID 1,並且應該給我最後可用的TO_ID作爲結果,在這種情況下爲4.
我想我需要一些遞歸邏輯,但不知道如何開始。
謝謝!
馬修
經過測試,幾乎在那裏,除了MAX(ToID)將不起作用,因爲合併的目標ID並不總是大於同一鏈中的先前目標ID ...所以ID 1可以合併爲3,然後3可以合併爲2,例如 – tjeuten 2010-09-14 15:00:22
可以通過向合併信息添加時間戳並選擇「按日期排序的前1個順序」方法來解決此問題。但想知道是否可以不加時間戳 – tjeuten 2010-09-14 15:09:48