从表中选择链式记录

时间:2012-10-12 15:37:58

标签: sql postgresql

  

可能重复:
  Is it possible to make a recursive SQL query?

想象一个应用程序,其中人们希望保留对数据库中“记录”所做更改的历史记录。

这可以通过引入一个指向较新版本记录的“modified_id”列来实现。

id  value                               revised_id
--------------------------------------------------
1   Initial value...                    3
2   Value of a different record         Null
3   Value which has been altered        4
4   Value which has been altered again  Null

该表说明了两个“实际记录”,其中一个已被改变两次

获取所有最新版本只是意味着将revised_id = null添加到WHERE子句中。简单地获取以前的版本:SELECT * FROM table WHERE revised_id = $ current_id

我的任务是:是否可以选择给定记录的所有先前版本?(问题在于简单的比较是不够的,因为要选择的记录被“链接”在一起。)

0 个答案:

没有答案