首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

LINQ 分组有关问题

2012-04-07 
LINQ 分组问题A表AIDName1张三2李四B表BID Money AID121231342查询的结果AIDNameSumMoneyCount1张三522李

LINQ 分组问题
A表
AID Name 
1 张三
2 李四

B表
BID Money AID
1 2 1
2 3 1
3 4 2


查询的结果

AID Name SumMoney Count
1 张三 5 2
2 李四 4 1

就是以AID分组,查询钱的总数,跟合计的数量

[解决办法]

C# code
 var result = from a in data.A                              from b in data.B                              where a.AID == b.AID                              group new { a = a, b = b } by new { a.AID, a.Name } into g                              select new                               {                                   Aid = g.Key.AID,                                  Name = g.Key.Name,                                   Count = g.Count(),                                   SumMoney = g.Sum(x => x.b.Money)                               };
[解决办法]
SQL code
--测试数据准备:CREATE TABLE _A( AID int, Name nvarchar(50))CREATE TABLE _B( BID int, Money int, AID int)insert into _A SELECT 1,'zhangsan' union SELECT 2,'lisi'insert into _B select 1,2,1 union                select 2,3,1 union            select 3,4,2 

热点排行