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

请教这个分组的sql写成linq是如何写呢

2014-01-14 
请问这个分组的sql写成linq是怎么写呢?根据站点ID来分组,可是站点ID为100的要和站点ID为0的分成一组,sql语

请问这个分组的sql写成linq是怎么写呢?
根据站点ID来分组,可是站点ID为100的要和站点ID为0的分成一组,sql语句为:

SELECT CASE WHEN SITEID=0 OR SITEID=100 THEN 0 ELSE SiteID END AS Siteid,COUNT(1) FROM View_eBayOL_RepeatCount GROUP BY CASE WHEN SITEID=0 OR SITEID=100 THEN 0 ELSE SiteID END

现在linq写成
var query = (from p in eBayOLProductQuery
             join site in db.Site on p.SiteID equals site.SiteId
             group p by new { ebaySiteID = (p.SiteID == 100 ? 0 : p.SiteID) } into g
             select new { ID = g.Key, TotalCount = g.Count() }).ToList();

不能实现想要的效果,请问要如何写呢?
[解决办法]
看着没有什么大问题啊,这点注意修改一下:

select new { ID = g.Key.ebaySiteID, TotalCount = g.Count() }).ToList();

热点排行