Я запускаю отчет в 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 | |
В приведенном выше примере участник имел код плана A с 1 мая 2011 года по 1 июня 2011 года. 1 июня 2011 года участник изменил свое покрытие на план B (и все еще активен, так как нет термина или данных об изменении ).
В конечном итоге мне нужно, чтобы в моем отчете вместо двух указанных выше строк было указано следующее:
MemberID | Last | First | Plan Code | Original Effective | Change Date | Term Date
--------------------------------------------------------------------------------------------
12345 | Smith | John | B | 05-01-2011 | 06-01-2011 |
, который показывает его первоначальную дату вступления в силу плана, дату изменения и оставляет поле прекращения действия пустым.
Я знаю, что могу попасть в одну строку, используя Group By ID члена, и я даже могу добавить дату изменения в соответствующее поле с помощью оператора (IF COUNT ()> 1), но я не могу выяснить, как показать правильный код плана (C) или как оставить дату термина незаполненной, сохранив первоначальную дату вступления в силу.
Есть идеи?