日期:2014-05-20  浏览次数:20913 次

帮写一个LINQ查询语句,谢谢了
现在有一个表,一共3个字段 Column1,Column2,Column3

比如说表里有如下数据:

耐克,篮球鞋,上海
耐克,足球鞋,上海
耐克,篮球鞋,北京
阿迪达斯,篮球鞋,上海

我希望得到这样的查询结果:

耐克,篮球鞋+足球鞋,上海
耐克,篮球鞋,北京
阿迪达斯,篮球鞋,上海


就是把Column1和Column3相同的数据的Clumn2用加好连载一起~大侠帮帮忙了。谢谢~~

------解决方案--------------------
C# code
var data = new List<Product> { 
   new Product{Maker="耐克", Name="篮球鞋", Location="上海"},
   new Product{Maker="耐克", Name="篮球鞋", Location="北京"},
   new Product{Maker="耐克", Name="足球鞋", Location="上海"},
   new Product{Maker="阿迪达斯", Name="篮球鞋", Location="上海"},
};

var result = (from p in data
              group p by new { p.Maker, p.Location } into g
              select new Product { 
                 Maker = g.Key.Maker,
                 Location = g.Key.Location,
                 Name = string.Join("+", g.Select(p => p.Name).ToArray())
              }).ToList();