我在mysql中运行了一个报告,它返回所有活动成员及其相关的计划选择。如果一个成员被终止,这也会显示在报告中。然而,我面临的问题是,当一位成员只是决定改变计划时。我们的系统有效地终止了原始计划,并以新计划重新开始,同时保留会员的原始注册信息。
示例报告数据可能如下所示:
MemberID | Last | First | Plan Code | Original Effective | Change Date | Term Date
--------------------------------------------------------------------------------------------
12345 | Smith | John | A | 05-01-2011 | | 06-01-2011
12345 | Smith | John | B | 06-01-2011 | |
在上面的例子中,一名成员在2011年5月1日至2011年6月1日期间拥有计划代码a。2011年6月1日,该成员将其保险范围更改为B计划(由于没有任期或变更数据,因此仍处于活动状态)。
最终,我需要我的报告生成以下内容,而不是上面的2行项目:
MemberID | Last | First | Plan Code | Original Effective | Change Date | Term Date
--------------------------------------------------------------------------------------------
12345 | Smith | John | B | 05-01-2011 | 06-01-2011 |
显示其原始计划生效日期、变更日期,并将终止字段留空。
我知道我可以通过使用Group by the Member ID进入一行,我甚至可以用(IF COUNT()>;1) 声明,但我不知道如何显示正确的计划代码(C),也不知道如何将期限留空以保持原始生效日期。
有什么想法吗?