c# / Linq sum where

lambertspider

New Member
I have a table NCR containing data of the format:\[code\]ID | Date | Item | Type | Qty1 | 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 \[/code\]I would like to produce a linq query that gives me a summary of the types and sums for a given date like so:\[code\]Item | A | B | CApple | 1 | 1 | 0 Orange | 2 | 0 | 2 \[/code\]So far I have this:\[code\]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")});\[/code\]However I can't seem to give a criteria to the g.Sum lambda statement. If I use Count (which is the wrong data) I can give the critera, but why is Sum missing this? What is my alternative to creating a summary table of the data available?
 
Back
Top