With nyc_schools as ( SELECT child_organization_id AS school_id FROM report.organization_hierarchy INNER JOIN dw.dimorganization ON child_organization_id = organizationid WHERE parent_organization_id = '8a97b09d3d96517f013fad817713497a' AND child_organization_type = 'SCHOOL' ), login_data as ( SELECT trunc(eventoccurrencedatetime) as event_date, sessionid, actorid as user_id, dimuserenrollment.role_type from dw.learningevent eve LEFT JOIN nyc_schools sch on eve.organizationid = sch.school_id INNER JOIN report.dim_organization_user_enrollment AS dimuserenrollment ON eve.actorid = dimuserenrollment.user_id AND dimuserenrollment.role_type in ('TEACHER','STUDENT') WHERE eventoccurrencedatetime between '2020-02-01' and '2020-02-02' AND eventtype in ('login','exited') AND eve.objecttype in ('application-session') ) , all_logins as ( SELECT login_data.event_date, CASE WHEN login_data.role_type::text = 'TEACHER'::character varying::text THEN count(login_data.sessionid) ELSE NULL::bigint END AS all_teacher_logins, CASE WHEN login_data.role_type::text = 'STUDENT'::character varying::text THEN count(login_data.sessionid) ELSE NULL::bigint END AS all_student_logins FROM login_data GROUP BY event_date, login_data.role_type ) select * from all_logins