我的任务是清理组织支持者的数据。虽然我对一些 SQL 查询编码没问题,但我遇到了一些更复杂的问题(对我来说很好!)。
任务是将支持者标记为活跃或失效。
我可以通过查看他们的开始日期来做到这一点,如果从该日期起不到两年,我们可以将其标记为活动,并将任何超过的内容标记为已关闭。遗憾的是,没有什么比这更容易的了,支持者可能会根据他们与组织的互动方式而提升一个额外的水平。
我需要查询做的是看看他们是否有额外的支持者代码。例如,它们不能在两个级别上处于活动状态,我需要查询以查看它们是否处于下一个级别,如果是,则使先前的代码失效,无论它们是否符合上述规则。他们可以上升到5个级别。
我希望这是有道理的。数据看起来像这样。
Member ID | Category | Start Date | End Date
123456 | LEG1 | 01/12/2012 |
654321 | LEG1 | 01/01/2009 |
421124 | LEG1 | 01/05/2011 |
421124 | LEG2 | 02/04/2011 | 31/12/2012
421124 | LEG3 | 02/04/2011 | 31/12/2012
421124 | LEG4 | 31/12/2012 |
567888 | LEG2 | 14/03/2012 |
567888 | LEG3 | 22/08/2012 |
119119 | LEG2 | 01/01/2011 | 31/12/2012
感激地收到任何建议。