【发布时间】:2013-12-06 17:54:08
【问题描述】:
Table: one
Column (PK): employee_ssn
Column: employee_active bit
Table: two
Column (pk): date
Column (FK): employee_ssn
Column: total_income
Column: total_expenses
使用 Linq 代码计算每位员工当年的总收入和总费用:
var SumOfSections = db.two
.Select(x => x)
.Where(x => x.employee_ssn.Equals(xxxxxxxxx))
.Where(x => x.Date.Year.Equals(year))
.GroupBy(x => x.Date)
.Select(g => new
{
Total_Income = g.Sum(x => x.total_expenses),
Total_Expenses= g.Sum(x => x.total_income)
})
.ToArray();
我需要将 INNER JOIN 合并到上述内容中,以仅包括在职员工。工作 SQL:
select two.total_income,total_expenses
from two
INNER JOIN one
ON one.SSN = two.SSN
WHERE one.Active = 1 AND two.Date='1/1/2014' AND two.SSN='xxxxxxxxx';
如何将我的 linq 代码修改为我的 sql 代码正在执行的操作?
【问题讨论】:
-
只是一个疑问:为什么 total_income 是 total_expenses 的总和,反之亦然?