fjaroli

ClassRoomCommunitySudentAttendanceCountForDate

Oct 17th, 2023
25
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.41 KB | None | 0 0
  1. SELECT
  2. c.id, cmlt.text,
  3. COUNT(cma.communityMember) AS totalStudent,
  4. COUNT(CASE WHEN cma.attendanceStatus = 'ATTENDANCE_STATUS.PRESENT' THEN cma.id END) AS presentCount,
  5. COUNT( CASE WHEN cma.attendanceStatus = 'ATTENDANCE_STATUS.ABSENT' THEN cma.id END ) AS absentCount,
  6. cma.subjectCode AS subject,
  7. cma.attendanceContext AS attendanceContext
  8. FROM programtld.worknode wn
  9. JOIN bridgedb.user u
  10. JOIN bridgedb.userrolemap urm ON urm.UserId = u.Id
  11. JOIN programtld.workforce wf ON wn.id = wf.WorkNode AND wf.UserRole = urm.Id
  12. JOIN programtld.worknodecommunity wnc ON wnc.WorkNode = wf.WorkNode
  13. JOIN bridgedb.community c ON c.id = wnc.Community AND c.CommunityMinorType != 'COMMUNITY_MINOR_TYPE.SCHOOL'
  14. JOIN bridgedb.communityname cn on c.id = cn.Community
  15. JOIN bridgedb.mltext cmlt on cn.name = cmlt.id
  16. JOIN bridgedb.communitymember cm on c.id = cm.communityid AND cm.MembershipMinorType = "COMMUNITY_MEMBER_MINOR_TYPE.STUDENT"
  17. JOIN ltlddb.communitymemberattendance cma on cm.id = cma.communitymember
  18. WHERE wn.EntityID = <::SCHOOL_ID::>
  19. AND u.id = <::CURRENT_USER_ID::> AND u.TenantId = <::CURRENT_TENANT_ID::>
  20. AND IF( Time(cma.Date) = '18:30:00', DATE_ADD(cma.Date, interval 330 MINUTE), DATE(cma.Date) ) = <::FOR_DATE::>
  21. AND cma.createdTenant = <::CURRENT_TENANT_ID::>
  22. AND wn.isActive=1
  23. AND wf.isActive=1
  24. AND wnc.isActive=1
  25. AND c.isActive=1
  26. GROUP BY cma.communityId,
  27. cma.subjectCode, cma.attendanceContext;
Advertisement
Add Comment
Please, Sign In to add comment