0
任何人都可以幫我一個LINQ查詢。我已經轉換的大部分,但我必須在存儲過程中的子查詢,我無法弄清楚如何做到這一點..LINQ與子選擇查詢使用sum和group by?
基本上這是舊的存儲過程(截斷爲便於)
SELECT M.Period AS 'Period' ,
C.Code AS 'Group' ,
C.ClientCode AS 'Code' ,
C.ClientName AS 'Name' ,
(SELECT SUM(Amount) AS Expr1
FROM M
WHERE (ClientCode = C.ClientCode)
GROUP BY ClientCode
) AS 'Amount' ,
你可以從子查詢上面看到的是,像這樣
SELECT SUM(Amount) AS Expr1
FROM M
WHERE (ClientCode = C.ClientCode)
GROUP BY ClientCode
) AS 'Amount'
所以我已經做了我所有的連接和我有這個迄今爲止,它的工作原理。
var test = from c in C join h in H on c.Code
equals h.Code join m in M on c.ClientCode
equals m.ClientCode
select new
{
Period=m.Period,
Group=c.Code,
Code= c.ClientCode,
Name= c.ClientName,
<-- Here is where i need the sub select query above -->
};
但我在如何做子查詢的損失。您可以在舊的存儲過程中看到該列的名稱爲金額。
我將不勝感激任何意見或幫助
感謝
哇!謝謝Raymund!是的,只是把它放在..它的工作原理:-)謝謝....你會這麼好解釋爲什麼我需要Expr1,然後在第一個()另一個Expr1?當然,如果我刪除EXPR1它失敗..但我不完全理解爲什麼它有:-) – Martin 2010-11-17 21:17:42
Expr1是計算總和的變量,第二個Expr1暴露它 – Raymund 2010-11-17 21:43:54