Hi,
ich stehe vor einen kleinen Problemchen...
ich habe in C# eine DataTable in welcher einige Daten eingefüllt sind.
Hier mal ein einfacher aufbau
SpalteA; Datum; nochWas; nochWas
Wert1; 1; a; e
Wert2; 2; b; f
Wert1; 3; c; e
Wert3; 4; d; a
In Spalte A, Doppeln sich die Werte, diese möchte ich nach Datum
ausgefiltert haben (neuester bleibt bestehen)
1 | DataTable td = data.AsEnumerable()
|
2 | .GroupBy(r => new {
|
3 | SpalteA = r["SpalteA"]
|
4 | })
|
5 | .Select(g =>
|
6 | {
|
7 | DataRow rw = data.NewRow();
|
8 |
|
9 | rw["SpalteA"] = g.Key.SpalteA;
|
10 | rw["Datum"] = g.Max(r => r.Field<DateTime>("Datum"));
|
11 | ??? nochWas = selektiere["nochWas"] wenn Datum = g.Max(r => r.Field<DateTime>("Datum")) und SpalteA = g.Key.SpalteA
|
12 |
|
13 | return rw;
|
14 | })
|
15 | .CopyToDataTable();
|
mein Ansatz funktioniert, ich bekomme nun meine Werte nicht mehr Doppelt
und immer das neuste Datum.
Jetzt habe ich aber noch 2 Spalten in welchen die Daten nicht
"weggruppiert" werden können, da sich diese Unterscheiden.
=> In SQL kann ich jetzt die Daten wieder "dazujoinen" welche sowohl
SpalteA als auch dem Datum entsprechen, leider weiß ich nicht wie das
mit Linq geht.
Vielen Dank