0

データテーブル1

Name   Quantity
A       2
B       5
C       3
D       4

データテーブル2

  Name   Quantity
    A       1
    B       3
    F       4
    G       4

両方のデータテーブルを結合した後に期待される結果名前でグループ化し、結果を新しいデータテーブルに入れる各グループの合計数量

 Name   Quantity
    A       3
    B       8
    C       3
    D       4
    F       4
    G       4

LINQを使用してこれを行うことは可能ですか? フィールド値に次のようにアクセスすることに注意してくださいrow.Field(of T)("Name")

4

1 に答える 1

1

これを試して。両方のテーブルが同じ場合、ユニオンが必要だと思います

Dim query = From x in ((From p in DataTable1
                Select p).Union(From pd in DataTable2 Select pd))
                Group x By Key = x.Name Into grouping = Group
                let myProdSum = grouping.Sum(Function(x) => x.Quantity)
                Select New With {.Name = grouping.Key, .TotalQty = myProdSum}

ForEach s in query 
  Console.WriteLine("{0} : {1}" , s.Name, s.TotalQty)
Next
于 2012-12-07T20:20:58.787 に答える