日期:2014-05-20 浏览次数:20974 次
SELECT c.SiteName,max(d.ScheduleTime),a.EnterpriseName,a.EnterpriseInfoID FROM EnterpriseInfo AS a INNER JOIN EnterpriseSite AS b ON b.EnterpriseInfoID = a.EnterpriseInfoID INNER JOIN SiteInfo AS c ON c.SiteInfoID = b.SiteInfoID INNER JOIN ScheduleInfo AS d ON d.EnterpriseSiteID = b.EnterpriseSiteID INNER JOIN EventType AS e ON e.EventTypeID = d.EventTypeID GROUP BY c.SiteName,a.EnterpriseName,a.EnterpriseInfoID
//代码手打,提供思路参考
var query=from a in EnterpriseInfo 
          join b in EnterpriseSite on  a.EnterpriseInfoID equals b.EnterpriseInfoID 
          join c in SiteInfo  on  b.SiteInfoID  equals c.SiteInfoID 
          join d in ScheduleInfo on b.EnterpriseSiteID  equals d.EnterpriseSiteID 
          join e in EventType on d.EventTypeID equals e.EventTypeID
          group new{a,b,c,d} by new {c.SiteName,a.EnterpriseName,a.EnterpriseInfoID} into g
          select new{g.Key.SiteName,ScheduleTime=g.Max(d=>ScheduleTime),g.Key.EnterpriseName,g.Key.EnterpriseInfoID};