1

私の質問もこれに似ています

2 つの DataTables があります。

データテーブル 1:

Column 1: Date
Column 2: Requests 1

データテーブル 2:

Column 1: Date
Column 2: Requests 2

次の結果が必要です。

新しいデータテーブル:

Column 1: Date
Column 2: Requests 1
Column 3: Requests 2

期待される結果:

Date            Requests 1  Requests 2    Total
15/08/2013      25          40            60
14/08/2013      40          60            100
13/08/2013      40          0             25
12/08/2013      0           80            80

私が今までやったこと:

DataTable Lista_1 = ds.Tables[0];
DataTable Lista_2 = ds.Tables[1];

var myLINQ = from l1 in Lista_1.AsEnumerable()
             join l2 in Lista_2.AsEnumerable() 
             on l1.Field<DateTime>("Date") equals l2.Field<DateTime>("Date")
             select new
             {
                 dateRelatorio = l1.Field<DateTime>("Date"),
                 request1Relatorio = l1.Field<int>("Total"),
                 request2Relatorio = l2.Field<int>("contagem"),
                 total = l1.Field<int>("Total") + l2.Field<int>("contagem")
             };

そして、IList コレクション (System.Collections.IList) を返したいと思います。

アップデート

listReturn = new List<Stats>();
public class Stats
{
public DateTime dateRelatorio { get; set; }
public int request1Relatorio { get; set; }
public int request2Relatorio { get; set; }
public int total { get; set; }
}

更新 2

List_2 にない日付が List_1 にある場合や、その逆の場合があるため、Request は 0 である必要があります。

4

1 に答える 1