我在mysql中运行一个报告,它返回所有活动成员及其关联的计划选择。如果会员终止,则会在报告中显示。然而,我面临的问题是,一个成员只是决定“改变”计划。我们的系统有效'终止'原始计划,并在保留会员原始注册信息的同时开始新计划。如何根据MySQL中唯一ID的多个结果选择MAX记录
样本报告数据可以看起来如下:
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 | |
在上面的例子中,构件具有计划码A从2011年5月1日至2011年6月1日,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)或如何将期限日期保留原始生效日期。
任何想法?
我已经添加了“最大每个组的标签”。按照该链接,你会看到许多其他答案,以解决同样的问题。 – 2011-06-02 16:58:04