我有一个看起来有点像这样的数据表 1:
Record# Date Person
1 12/12/2012 Tom
2 01/02/2013 Tom
3 10/02/2013 Tom
4 02/01/2013 John
5 04/01/2014 John
6 30/06/2010 Mary
7 30/06/2011 Mary
8 30/06/2012 Mary
9 30/07/2012 Mary
和另一个表2,我们有每个人的注册日期
Person RegisterDate MaxRecord
Tom 15/12/2011 100
John 01/01/2013 10
Mary 16/06/2010 50
在 table1 中添加记录之前,我需要检查 Person 的年度记录数 (table1) 是否低于该 Person 的 MaxRecord 数 (table2)。按年度,我的意思是 startDate = 注册日期和 endDate = 注册日期 + 1 年,而不是从 1 月 1 日到 12 月 31 日。
如果我想为 Mary 添加一条记录,我想编写 SQL,它会给我以下输出:
StartDate EndDate CountRecord
16/06/2010 15/06/2011 1
16/06/2011 15/06/2012 1
16/06/2012 15/06/2013 2
构建此输出后,我可以测试是否允许新记录的日期(对于一个人)。
有人可以给我一个线索,一个教程的链接或一些帮助吗?