幫助我,請用這個簡單的E-SQL查詢:實體SQL集團通過問題,請大家幫忙
var qStr = "SELECT SqlServer.Month(o.DatePaid) as month, SqlServer.Sum(o.PaidMoney) as PaidMoney FROM XACCModel.OrdersIncomes as o group by SqlServer.Month(o.DatePaid)";
這裏是我的。
我有簡單的實體稱爲OrdersIncomes
與ID,PaidMoney,DatePaid,Order_ID
性質
我想選擇月和總結PaidMoney這樣的:
month Paidmoney
1 500
2 700
3 1200
T-SQL looks like this and works fine:
select MONTH(o.DatePaid), SUM(o.PaidMoney)
from OrdersIncomes as o
group by MONTH(o.DatePaid)
results:
-----------
3 31.0000
4 127.0000
5 20.0000
(3 row(s) affected)
但E-SQL亙古不變的工作,我不知道該怎麼辦。在這裏我的E-SQL這就需要重構:
var qStr = "SELECT SqlServer.Month(o.DatePaid) as month, SqlServer.Sum(o.PaidMoney) as PaidMoney FROM XACCModel.OrdersIncomes as o group by SqlServer.Month(o.DatePaid)";
有一個例外:ErrorDescription中=「因爲它也不在聚合函數或GROUP BY子句中所含的各種標識‘O’是無效的。」
如果我在group by子句中包含o,如:FROM XACCModel.OrdersIncomes as o group by o
那麼我不會得到總結和彙總結果。 這是一個錯誤,或者我做錯了什麼?
這裏有一個LINQ到實體查詢,它也能工作:
var incomeResult = from ic in _context.OrdersIncomes
group ic by ic.DatePaid.Month into gr
select new { Month = gr.Key, PaidMoney = gr.Sum(i => i.PaidMoney) };
謝謝! 。 。 。 。 。 。 。 。 。 – Zviadi 2010-08-22 15:29:51