Skip to content

Instantly share code, notes, and snippets.

@sfentress
Created April 7, 2017 20:32
Show Gist options
  • Save sfentress/bf4cd725e30bf98fb6b8ad8a44fdee98 to your computer and use it in GitHub Desktop.
Save sfentress/bf4cd725e30bf98fb6b8ad8a44fdee98 to your computer and use it in GitHub Desktop.
== Filtering on school alone (students in school 1 or 2) ==
SELECT `report_learners`.* FROM `report_learners` WHERE `report_learners`.`school_id` IN (1,2)
----
== Filtering on permission form alone (students who signed 1 or 2) ==
SELECT `report_learners`.`id` AS t0_r0, `report_learners`.`learner_id` AS t0_r1, `report_learners`.`student_id` AS t0_r2, `report_learners`.`user_id` AS t0_r3, `report_learners`.`offering_id` AS t0_r4, `report_learners`.`class_id` AS t0_r5, `report_learners`.`last_run` AS t0_r6, `report_learners`.`last_report` AS t0_r7, `report_learners`.`offering_name` AS t0_r8, `report_learners`.`teachers_name` AS t0_r9, `report_learners`.`student_name` AS t0_r10, `report_learners`.`username` AS t0_r11, `report_learners`.`school_name` AS t0_r12, `report_learners`.`class_name` AS t0_r13, `report_learners`.`runnable_id` AS t0_r14, `report_learners`.`runnable_name` AS t0_r15, `report_learners`.`school_id` AS t0_r16, `report_learners`.`num_answerables` AS t0_r17, `report_learners`.`num_answered` AS t0_r18, `report_learners`.`num_correct` AS t0_r19, `report_learners`.`answers` AS t0_r20, `report_learners`.`runnable_type` AS t0_r21, `report_learners`.`complete_percent` AS t0_r22, `report_learners`.`permission_forms` AS t0_r23, `report_learners`.`num_submitted` AS t0_r24, `report_learners`.`teachers_district` AS t0_r25, `report_learners`.`teachers_state` AS t0_r26, `report_learners`.`teachers_email` AS t0_r27, `portal_learners`.`id` AS t1_r0, `portal_learners`.`uuid` AS t1_r1, `portal_learners`.`student_id` AS t1_r2, `portal_learners`.`offering_id` AS t1_r3, `portal_learners`.`created_at` AS t1_r4, `portal_learners`.`updated_at` AS t1_r5, `portal_learners`.`bundle_logger_id` AS t1_r6, `portal_learners`.`console_logger_id` AS t1_r7, `portal_learners`.`secure_key` AS t1_r8, `portal_students`.`id` AS t2_r0, `portal_students`.`uuid` AS t2_r1, `portal_students`.`user_id` AS t2_r2, `portal_students`.`grade_level_id` AS t2_r3, `portal_students`.`created_at` AS t2_r4, `portal_students`.`updated_at` AS t2_r5, `portal_student_permission_forms`.`id` AS t3_r0, `portal_student_permission_forms`.`signed` AS t3_r1, `portal_student_permission_forms`.`portal_student_id` AS t3_r2, `portal_student_permission_forms`.`portal_permission_form_id` AS t3_r3, `portal_student_permission_forms`.`created_at` AS t3_r4, `portal_student_permission_forms`.`updated_at` AS t3_r5 FROM `report_learners` LEFT OUTER JOIN `portal_learners` ON `portal_learners`.`id` = `report_learners`.`learner_id` LEFT OUTER JOIN `portal_students` ON `portal_students`.`id` = `report_learners`.`student_id` LEFT OUTER JOIN `portal_student_permission_forms` ON `portal_student_permission_forms`.`portal_student_id` = `portal_students`.`id` WHERE `portal_student_permission_forms`.`portal_permission_form_id` IN (1,2)
Above query is generated from the rails code:
scope :with_permission_ids, lambda { |ids|
includes(student: :portal_student_permission_forms)
.where("portal_student_permission_forms.portal_permission_form_id" => ids)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment