Advertisement
Guest User

Untitled

a guest
Aug 18th, 2019
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.60 KB | None | 0 0
  1. SELECT DATEDIFF(eleave.resume_date , eleave.leave_date) as total_days , (
  2. ABS(DATEDIFF(eleave.leave_date, eleave.resume_date)) -
  3. ABS(DATEDIFF(ADDDATE(eleave.leave_date, INTERVAL 1 -
  4. DAYOFWEEK(eleave.leave_date) DAY) , ADDDATE(eleave.resume_date, INTERVAL
  5. 1 - DAYOFWEEK(eleave.resume_date) DAY))) / 7 * 2 -
  6. (DAYOFWEEK(IF(eleave.resume_date < eleave.leave_date , leave.resume_date,
  7. eleave.leave_date)) = 1) - (DAYOFWEEK(IF(eleave.resume_date >
  8. eleave.leave_date, eleave.resume_date, eleave.leave_date)) = 7)) as
  9. leavedays , employee.emp_lname , type.typ_name as leavetype ,
  10. education.qualification , education.program FROM employee INNER JOIN eleave on employee.emp_num = eleave.emp_num LEFT JOIN type ON type.typ_id =
  11. eleave.typ_id left join education ON employee.emp_num = education.emp_num
  12. WHERE employee.emp_num = 4774 AND type.typ_name = 'Sick leave'
  13.  
  14. SELECT employee.emp_num, SUM (ABS(DATEDIFF(eleave.leave_date, eleave.resume_date)) - ABS(DATEDIFF(ADDDATE(eleave.leave_date, INTERVAL 1 - DAYOFWEEK(eleave.leave_date) DAY) , ADDDATE(eleave.resume_date, INTERVAL
  15. 1 - DAYOFWEEK(eleave.resume_date) DAY))) / 7 * 2 -
  16. (DAYOFWEEK(IF(eleave.resume_date < eleave.leave_date , leave.resume_date,
  17. eleave.leave_date)) = 1) - (DAYOFWEEK(IF(eleave.resume_date >
  18. eleave.leave_date, eleave.resume_date, eleave.leave_date)) = 7)) as
  19. leavedays
  20.  
  21. ROM employee INNER JOIN eleave on employee.emp_num = eleave.emp_num LEFT JOIN type ON type.typ_id =
  22. eleave.typ_id left join education ON employee.emp_num = education.emp_num
  23. WHERE employee.emp_num = 4774 AND type.typ_name = 'Sick leave'
  24.  
  25. GROUP BY employee.emp_num
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement