考虑下表:
应用
+----+-------------+---------+----------+
| id | previous_id | next_id | status |
+----+-------------+---------+----------+
| 1 | NULL | 3 | Archived |
+----+-------------+---------+----------+
| 3 | 1 | 4 | Archived |
+----+-------------+---------+----------+
| 4 | 3 | NULL | Approved |
+----+-------------+---------+----------+
注释
+-----+--------+----------------+
| id | app_id | comment |
+-----+--------+----------------+
| 1 | 1 | Testing |
+-----+--------+----------------+
| 2 | 1 | Still testing |
+-----+--------+----------------+
| 3 | 4 | No longer |
+-----+--------+----------------+
应用程序表包含应用程序的修订。注释表包含在应用程序的每次迭代中留下的注释。它们通过以下方式联系在一起:
Applications.ID = Comments.APP_ID
有一个面包屑会告诉您应用程序是否有任何先前的修订,以及您是否正在处理当前修订(当前行将始终具有 NULL 作为 next_id 值。
我想建立两件事。
- 应用程序有多少次修订的计数。它可能是零修订版,也可能是 16+。
- 任何给定当前应用程序(如 ID = 4)和所有以前的应用程序的评论列表,按照最新评论到最旧评论的顺序排列。