日期:2014-05-20 浏览次数:21137 次
//代码手打,提供思路参考
var query=(from a in dbo.View_AdviceNoteRightTable 
          join b in dbo.AdviceNoteLinkTable.Where(x=>x.PayType == 42) on a.AdviceID equals b.AdviceID  
          join c in dbo.OverWeightRec on b.PayReturnID equals c.ID
          join d in dbo.ContractSubPutPayment.Where(y=>y.PayType == 2)  on c.ID equals d.RPID into t
          from d in t.DefaultIfEmpty()
          group new {a,b,c,d} by new{a.AdviceID,a.AdviceState,c.ID,c.OverWeightDate,c.OverWeightCount} into g
          select new {
            AdviceID=g.Key.AdviceID,
            AdviceState=g.Key.AdviceState,
            ID=g.Key.ID,
            OverWeightDate=g.key.OverWeightDate,
            OverWeightCount=g.Key.OverWeightCount,
              SumMonery=g.Sum(z=>z.PayMoney)
             }).OrderBy(s=>s.ID);
------解决方案--------------------
你再仔细看看