Iam trying to write an SQL server Query using joins and having some difficulty : Tables are explained in detail as below:

I have 3 tables:

Table A 
(It serves as a mastertable for information about the employees)

EmployeeId(Primary key)|Employee Designation|EmployeeName|(More columns of employee data which is not relevant to this particular query)

Table B
(It serves as table where all employees who are accounted for are stored.For eg an employee who has reported sick or is on leave or has pregnancy leave, etc.Bottom line an employee which is not available)

EmployeeID(Primary key)(Also referencing master table A as foreign key)|AccountedFor||AccountedFordurationFrom(datetime)|AccountedForDurationTo(datetime)


Table C
(It serves as a table where excused data of employees are present.For eg we have our organization's time table spread as events,1st event is morning time conference,then 2nd is silence working time,3rd is brainstorming sessions etc.Now if an employee is excused for a particular event ,it is entered here)
EmployeeID|EventCode|Excuse_DurationFrom|Excuse Duration To|Any specific Detailment

Here EmployeeID and ExcusedForEventCode are both composite primary keys as it is possible to have same employeeId for multiple excuses,but the combination is always unique.

We have built some custom attendance management system and would require the following details:

1.We need to find all those employees who are neither accounted for nor excused for a specific event(this will be provided through front end) for a time duration selected through the front end.
2.The result of the above query will subsequently be used to compare with a biometric attendance machine logs which gives 
EmployeeId|LogDate(datetime)|EventCodes as a separate table input to our database.(Mastertable A employeeId references this EmployeeId as foreign key)

It will be compared to find out true absentees for a particular event.ie All those employees who are neither accounted for,nor excuses for any particular event and who does not figure out in the biometric scan machine logs are absented for those time duration selected.We need the output of absentee like this
EmployeeId|Employee Designation|Employee Name|EventName(Have a separate table linking with EventCode)|Date&time(This would be per day per event report of employee who are absent from the selected time duration).

We have tried queries like:

select employeemastertable.employeeid,employeemastertable.Designation,employeemastertable.Name,EventCodes.EventCodeName as Eventexcusedfrom from employeemastertable inner join employeeexcusedforevents on employeemastertable.employeeid=employeeexcusedforevents.employeeid inner join EventCodes on employeeexcusedforEvents.ExcusedForEventCode=EventCodes.Eventcode left  join employeeaccountedFor on employeemastertable.employeeid=employeeaccountedFor.employeeid where employeeexcusedforevents.ExcusedForEventCode!=1(Morning conference) and employeeaccountedFor.employeeid is null;

Names have been changed

I do understand this will give those employees who does not figure out in event Morning conference but even if i do left join instead of inner join between employeemastertable and employeeexcusedForevents and put employeeexcusedforevents.excusedforeventcode is null and employeeexcusedforevents.employeeid is null,i do get all those employees not present in the other two table,but the criteria of event is not satisfied.That means what if the employee is excused for the 2nd event as well in the organization.How would i cater for that in the above code?(PS this is only the 1st part of the equation i understand that,after this i need help for the other part also,where time duration and comparing with logs is concerned)?

urgent help would be appreciated fully


