Below is my SQL query:
var staffLeaves = (from staffLeave in db.StaffLeaves
join leavetype in db.LeaveTypes
on staffLeave.LeaveID equals leavetype.LeaveTypeID
join staff in db.Staffs
on staffLeave.StaffID equals staff.StaffID
where staffLeave.Year == latest_year.Year
//new insertion start
join jobinfo in db.JobInfo
on staffLeave.StaffID equals jobinfo.staff_id
where jobinfo.last_date == null
error --> OR jobinfo.last_date > DateTime.Now
//new insertion end
orderby leavetype.Description ascending
select new { staffLeave = staffLeave, staff = staff, leavetype = leavetype }).AsQueryable();
May I know how can I put in the additional condition OR jobinfo.last_date > DateTime.Now
?
Or do I need to implement another join
statement with the same table but with the 2nd condition this time.
I am using SQL Server Management Studio 2014.
Thank you.
Try this:
var staffLeaves = (from staffLeave in db.StaffLeaves
from leavetype in db.LeaveTypes
from staff in db.Staffs
from jobinfo in db.JobInfo
where staffLeave.LeaveID == leavetype.LeaveTypeID &&
staffLeave.LeaveID == leavetype.LeaveTypeID &&
staffLeave.Year == latest_year.Year &&
staffLeave.StaffID == jobinfo.staff_id &&
(jobinfo.last_date == null || jobinfo.last_date > DateTime.Now)
orderby leavetype.Description ascending
select new { staffLeave = staffLeave, staff = staff, leavetype = leavetype }).AsQueryable();
var staffLeaves = (from staffLeave in db.StaffLeaves
join leavetype in db.LeaveTypes
on staffLeave.LeaveID equals leavetype.LeaveTypeID
join staff in db.Staffs
on staffLeave.StaffID equals staff.StaffID
where staffLeave.Year == latest_year.Year
//new insertion start
join jobinfo in db.JobInfo
on (staffLeave.StaffID equals jobinfo.staff_id and jobinfo.last_date == null and jobinfo.last_date > DateTime.Now)
//new insertion end
orderby leavetype.Description ascending
select new { staffLeave = staffLeave, staff = staff, leavetype = leavetype }).AsQueryable();
so i have added the where condition inside the join
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.