我有两个桌子
attenance_id雇员ID扫描类型日期和时间 1 1 IN-19年1月15日上午8:00:00 2 1 IN-19年1月15日上午8:00:02 3 2 IN-19年1月15日8:05:01 AM 4 2 OUT 19年1月15日下午4:00:00 5 1 IN 19-Jan 19 8:05:30 AM
出勤表
emp_id emp_name 1名萨尔曼 2塔希尔 3詹姆士
我想显示所有员工有出入库时间的月度记录数据。输入时间“ in”是第一次,输出时间是“ OUT”,是最后一次。员工可能会忘记登录或注销,因此在这种情况下该字段将保持空白或显示为“不存在”。
我正在尝试这样做,但不知道下一步该怎么做
var InList = from a in _context.TblEmployee
from e in _context.AttendanceTable.Where(x =>
a.EmpId == x.EmployeeId)
.Where(x => x.ScanType == "IN")
.OrderBy (x => x.DateAndTime)
.DefaultIfEmpty()
select new
{
AttDate = e.DateAndTime.Date,
Emp_name = a.EmployeeName,
Emp_Id = e.EmployeeId
};
var OutList = from a in _context.TblEmployee
from e in _context.AttendanceTable.Where(x =>
a.EmpId == x.EmployeeId)
.Where(x => x.ScanType == "OUT")
.OrderBy (x => x.DateAndTime)
.DefaultIfEmpty()
select new
{
AttDate = e.DateAndTime.Date,
Emp_name = a.EmployeeName,
Emp_Id = e.EmployeeId
};