次のような LINQ クエリがあります。
from a in _context.tblTradeSpends
orderby a.DealPeriod, a.CustomerNumber, a.LOB, a.VersionDate descending
select new
{
DealPeriod = a.DealPeriod,
CustomerNumber = a.CustomerNumber,
LOB = a.LOB,
PromoID = a.PromoID,
VersionDate = a.VersionDate
}
これが私の結果セットからの小さなサンプルです (書式設定については申し訳ありません):
DealPeriod CustomerNumber LOB PromoID VersionDate
2013 10001 PL P0083312 12/04/2013 9:05
2013 10001 PL P0083313 12/04/2013 9:05
2013 10001 PL P0083314 12/04/2013 9:05
2013 10001 PL P0085100 12/04/2013 9:05
2013 10001 PL P0086169 12/04/2013 9:05
2013 10001 PL P0083312 18/01/2013 10:51
2013 10001 PL P0083313 18/01/2013 10:51
2013 10001 PL P0083314 18/01/2013 10:51
2013 10001 PL P0085100 18/01/2013 10:51
2013 10001 PL P0083312 07/07/2013 15:41
2013 10001 PL P0083313 07/07/2013 15:41
2013 10001 PL P0083314 07/07/2013 15:41
2013 10001 SCF P0083308 03/05/2013 11:27
2013 10001 SCF P0083309 03/05/2013 11:27
2013 10001 SCF P0085088 03/05/2013 11:27
2013 10001 SCF P0085380 03/05/2013 11:27
2013 10001 SCF P0085381 03/05/2013 11:27
2013 10213 SCF P0086880 11/07/2013 20:23
2013 10213 SCF P0086881 11/07/2013 20:23
2013 10213 SCF P0086882 11/07/2013 20:23
2013 10213 SCF P0086883 11/07/2013 20:23
2013 10213 SCF P0083630 28/05/2013 13:38
2013 10213 SCF P0083631 28/05/2013 13:38
2013 10213 SCF P0083632 28/05/2013 13:38
2013 10213 SCF P0083633 28/05/2013 13:38
このデータを分析する必要があるため、特定の関連レコードを削除して、データを削減することを検討しています。私のルールは、2013 年 1 月 6 日 (2013 年 6 月 1 日) を過ぎたバージョン日付を持たない、同じ取引期間、顧客番号、および LOB フィールドを持つすべてのレコードを削除することです。
2013|10001|PL
したがって、私の結果セットでは、一部のレコードのバージョン日付が 07/17/2013 であるため、すべてのレコードを最初から保持したいと思います。
2013|10001|SCF
これらのフィールド値を持つレコードのバージョン日付が 2013 年 1 月 6 日を過ぎているため、で始まるレコードを削除します。
2013|10213|SCF
これらのレコードの一部のバージョン日付は 11/07/2013 であるため、最初からレコードを保持したいと思います。
編集
King King のコードを試してみたところ、そこにあるはずのない関連レコードがいくつか得られました。除外されたはずの 2 つのグループを次に示します。
2013 10039 SCF P0083145 05/02/2013 10:22
2013 10039 SCF P0083146 05/02/2013 10:22
2013 10039 SCF P0083147 05/02/2013 10:22
2013 10039 SCF P0085152 05/02/2013 10:22
2013 10039 SCF P0083145 1/22/2013 5:55:00 PM
2013 10039 SCF P0083146 1/22/2013 5:55:00 PM
2013 10039 SCF P0083147 1/22/2013 5:55:00 PM
2013 10039 SCF P0085152 1/22/2013 5:55:00 PM
2013 10039 SCF P0083145 12/05/2012 19:21
2013 10039 SCF P0083146 12/05/2012 19:21
2013 10039 SCF P0083147 12/05/2012 19:21
2013 10040 PL P0084345 1/14/2013 10:27:00 AM
2013 10040 PL P0084346 1/14/2013 10:27:00 AM
2013 10040 PL P0084347 1/14/2013 10:27:00 AM
2013 10040 PL P0084348 1/14/2013 10:27:00 AM
2013 10040 PL P0084345 12/20/2012 10:15:00 PM
2013 10040 PL P0084346 12/20/2012 10:15:00 PM
2013 10040 PL P0084347 12/20/2012 10:15:00 PM
2013 10040 PL P0084348 12/20/2012 10:15:00 PM