次の形式のデータを含むテーブル NCR があります。
ID | Date | Item | Type | Qty
1 | 01/01/13 | Apple | A | 1
2 | 01/01/13 | Apple | B | 1
3 | 01/01/13 | Orange | C | 1
4 | 01/01/13 | Orange | A | 2
6 | 01/01/13 | Orange | C | 1
次のように、特定の日付の型と合計の要約を提供する linq クエリを作成したいと思います。
Item | A | B | C
Apple | 1 | 1 | 0
Orange | 2 | 0 | 2
これまでのところ、私はこれを持っています:
var q = data.GroupBy(l => l.Item)
.Select(g => new {
Item = g.Key,
Total = g.Sum(c => c.Qty),
A = g.Sum(c => c.Type == "A"),
B = g.Sum(c => c.Type == "B"),
C = g.Sum(c => c.Type == "C")
});
ただし、g.Sumラムダステートメントに基準を与えることはできないようです。Count (これは間違ったデータです) を使用すると、基準を指定できますが、Sum にこれがないのはなぜですか? 利用可能なデータの要約テーブルを作成する代わりに、どのような方法がありますか?