簡體   English   中英

Linq Group by和內部加入

[英]Linq Group by and inner join

我想替換此SQL命令:

string dotazBankUcty = @"SELECT 
     H.UCET, 
     SUM(H.KON_STAV_MD) AS KON_STAV_MD, 
     SUM(H.KON_STAV_DAL) AS KON_STAV_DAL , 
     SUM(H.KON_STAV_MD_MENA) AS KON_STAV_MD_MENA, 
     SUM(H.KON_STAV_DAL_MENA) AS KON_STAV_DAL_MENA, 
     MAX(UBUC.KOD_MENY) AS KOD_MENY 
     FROM UHLAVAKT H 
     inner join UBUC on H.UCET = UBUC.UCET GROUP BY H.UCET";

使用LINQ命令。 我試過了,但是它返回的是我想要的左聯接而不是內聯接。

var uhlavAktQuery = new XPQuery<UHLAVAKT>(CoreHelper.DataSession);

var ubucQuery = new XPQuery<UBUC>(CoreHelper.DataSession);

var resultBankyUcty = (from h in uhlavAktQuery
    join u in ubucQuery on h.CompoundKey1.UCET equals u.UCET
    group new { h, u } by new { h.CompoundKey1.UCET } into gUcty
                    select new
                    {
                    Ucet = gUcty.Key.UCET,
                    KON_STAV_MD = gUcty.Sum(k => k.h.KONSTAVMD),
                    KON_STAV_DAL = gUcty.Sum(k => k.h.KONSTAVDAL),
                    KON_STAV_MD_MENA = gUcty.Sum(k => k.h.KONSTAVMDMENA),
                    KON_STAV_DAL_MENA = gUcty.Sum(k => k.h.KONSTAVDALMENA),
                    KOD_MENY = gUcty.Max(k => k.u.KODMENY)
                    });

你能幫我嗎?

當我努力爭取加入LINQ的機會時,我發現以下有關CodeProject的文章非常有用,也很有幫助:

LINQ擴展聯接

在包括圖表的示例的幫助下,他解釋了聯接是什么,並介紹了實現各種聯接查詢的IEnumerable通用擴展方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM