繁体   English   中英

需要帮助将SQL查询转换为LINQ

[英]Need help in converting SQL query to LINQ

我是LINQ世界的新手,因此我坚持将一个SQL查询转换为LINQ。 我的SQL查询是:

select COUNT(DISTINCT PAYER) as count, 
       PPD_COL FROM BL_REV 
where BL_NO_UID = 1084 
GROUP BY PPD_COL

所需的输出是:

 Count   PPD_COL
  12       P
  20       C

我在LINQ中写了类似下面的内容:

 var PayerCount = from a in LstBlRev where a.DelFlg == "N"
                  group a by new { a.PpdCol} into grouping
                  select new
                  {
                      Count = grouping.First().PayerCustCode.Distinct().Count(),
                      PPdCol = (grouping.Key.PpdCol == "P") ? "Prepaid" : "Collect"
                  };

但它没有给我所需的输出。 对于PPD_COL值P&C,计数返回相同。我在这里缺少什么?

更改groupby如下。 group组只有财产需要,然后在THR by只是你正在通过分组一个属性-无需创建一个匿名对象。

var PayerCount = from a in LstBlRev 
                 where a.DelFlg == "N"
                 group a.PayerCustCode by a.PpdCol into grouping
                 select new
                 {
                     Count = grouping.Distinct().Count(),
                     PPdCol = grouping.Key == "P" ? "Prepaid" : "Collect"
                 };

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM