我在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