fjaroli

ClassRoomBatchSudentAttendanceCountForDate

Oct 12th, 2023
28
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.22 KB | None | 0 0
  1. SELECT
  2. sclb.id AS batchId,
  3. MIN(ml.text) AS batchName,
  4. COUNT(bsa.batchStudent) AS totalStudent,
  5. COUNT(
  6. CASE
  7. WHEN attendanceStatus = 'ATTENDANCE_STATUS.PRESENT' THEN bsa.id
  8. END
  9. ) AS presentCount,
  10. COUNT(
  11. CASE
  12. WHEN attendanceStatus = 'ATTENDANCE_STATUS.ABSENT' THEN bsa.id
  13. END
  14. ) AS absentCount,
  15. bsa.subjectCode AS subject,
  16. bsa.date AS date,
  17. bsa.attendanceContext AS attendanceContext
  18. FROM
  19. ltlddb.SchoolCourse sc
  20. JOIN ltlddb.sclevel scl on sc.id = scl.SchoolCourse
  21. JOIN ltlddb.sclevelbatch sclb on scl.id = sclb.sclevelid
  22. JOIN ltlddb.sclevelbatchmltnamem slbml on sclb.id = slbml.LTLDSCLevelBatch
  23. JOIN ltlddb.ltldmltext ml on slbml.MLText = ml.id
  24. JOIN ltlddb.batchstudent bs on sclb.id = bs.SCLevelBatch
  25. JOIN ltlddb.batchstudentattendance bsa on bs.id = bsa.batchstudent
  26. WHERE
  27. sc.school = <::SCHOOL_ID::>
  28. AND IF(
  29. Time(bsa.Date) = '18:30:00',
  30. DATE_ADD(bsa.Date, interval 330 MINUTE),
  31. DATE(bsa.Date)
  32. ) = <::FOR_DATE::>
  33. AND bsa.createdTenant = <::CURRENT_TENANT_ID::>
  34. AND sc.isActive = 1
  35. AND scl.isActive = 1
  36. AND sclb.isActive = 1
  37. AND bs.isActive = 1
  38. AND bsa.isActive = 1
  39. GROUP BY
  40. batchId,
  41. subject,
  42. attendanceContext;
Advertisement
Add Comment
Please, Sign In to add comment