首页 > 编程语言 >c# linq 左连接

c# linq 左连接

时间:2022-08-27 16:33:45浏览次数:44  
标签:tmp c# RequireDate linq into var new TodayFinishRate 连接

   var todayFinish = ds.Tables[0].AsEnumerable();

                var listTodayFinish = todayFinish
                        .Select(p => new TodayFinishRate
                        {
                            RequireDate = p.Field<DateTime>("RequireDate").ToString("HH:mm"),
                            PickStatus = p.Field<int?>("PickStatus").ToString()
                        }).ToList();

                //按需求时间 汇总 出已经完成出货的记录。
                var GroupTodayFinish = from a in listTodayFinish
                                       where a.PickStatus == "1"
                                       group a by new { a.RequireDate } into g
                                       select new TodayFinishRate
                                       {
                                           RequireDate = g.Key.RequireDate,
                                           FinishCount = g.Count()
                                       };

                //按需求时间 汇总 出已经今天全部叫料记录。
                var GroupTodayFinishAll = from a in listTodayFinish
                                          group a by new { a.RequireDate } into g
                                          select new TodayFinishRate
                                          {
                                              RequireDate = g.Key.RequireDate,
                                              AllCount = g.Count()
                                          };

                var listResult = from all in GroupTodayFinishAll
                                 join a in GroupTodayFinish on all.RequireDate equals a.RequireDate into LeftTmp
                                 from tmp in LeftTmp.DefaultIfEmpty()
                                 select new TodayFinishRate
                                 {
                                     RequireDate = all.RequireDate,
                                     FinishCount = tmp==null?0:tmp.FinishCount,  //这个判断很重要,不然报错,因为tmp可能为null
                                     AllCount = all.AllCount
                                 };

 

标签:tmp,c#,RequireDate,linq,into,var,new,TodayFinishRate,连接
From: https://www.cnblogs.com/xbding/p/16630837.html

相关文章

  • cycle
    Date:1300-1400;Language:French;Origin:LateLatincyclus,fromGreekkyklos'circle,wheel,cycle'Cycleorcyclicmayreferto:Cyclichistory,atheory......
  • ppk谈JavaScript pdf
    高清扫描版下载链接:https://pan.baidu.com/s/1EZSuucsueDdtSiw-Mgsvpg点击这里获取提取码本书全方位介绍了JavaScript,主要讨论了浏览器兼容性、可访问性、底层语法以及与......
  • springboot+docker发布项目20220827
    1、springboot打包项目 1)、application-dev.yml     对应配置修改 2)、项目package 生成包    3)、生成包         4)、运行......
  • [Golang] cgo 调用 .so 捕获异常问题
    最近需要在go中去调用.so库去完成一些事情,go方面,利用cgo可以顺利的调用.so中的方法,但是有个问题是go没法捕获.so那边出现的异常。如果.so那边异常了,那么会......
  • Docker安装记录
    参考Docker官网https://docs.docker.com/engine/install/centos/添加Docker镜像源#提供yum-config-manager工具sudoyuminstall-yyum-utils#添加Docker镜像......
  • C++ Primer 第五版 pdf
    高清扫描版下载链接:https://pan.baidu.com/s/14M-yWrk2FxOFB4RVhiolQQ点击这里获取提取码这本久负盛名的 C++经典教程,时隔八年之久,终迎来史无前例的重大升级。除令全球......
  • JavaScript DOM高级程序设计 pdf
    高清扫描版下载链接:https://pan.baidu.com/s/1qalRsOEuBZT1rJ8NyCaE2A点击这里获取提取码《JavaScriptDOM高级程序设计》是JeffreySambells和AaronGustafson合作编著......
  • cyberspace
    Theterm"cyberspace"firstappearedinthevisualartsinthelate1960s,whenDanishartistSusanneUssing(1940-1998)andherpartnerarchitectCarstenHoff......
  • [Oracle] LeetCode 348 Design Tic-Tac-Toe
    Assumethefollowingrulesareforthetic-tac-toegameonannxnboardbetweentwoplayers:Amoveisguaranteedtobevalidandisplacedonanemptybloc......
  • 动态规划——leetcode5、最长回文子串
    1、题目描述:2、解题方法:动态规划动态规划解题步骤:1、确定状态最后一步:如果s[i,...,j]是回文子串,那么需要满足两个条件①s[i......