public static function doCountJoinAllExceptStudentCourse(Criteria $criteria, $distinct = false, $con = null)
 {
     $criteria = clone $criteria;
     $criteria->clearSelectColumns()->clearOrderByColumns();
     if ($distinct || in_array(Criteria::DISTINCT, $criteria->getSelectModifiers())) {
         $criteria->addSelectColumn(VSubjectAccalLectorStudentDetailPeer::COUNT_DISTINCT);
     } else {
         $criteria->addSelectColumn(VSubjectAccalLectorStudentDetailPeer::COUNT);
     }
     foreach ($criteria->getGroupByColumns() as $column) {
         $criteria->addSelectColumn($column);
     }
     $criteria->addJoin(VSubjectAccalLectorStudentDetailPeer::SUBJECT_ACCAL_ID, SubjectAccalPeer::ID);
     $criteria->addJoin(VSubjectAccalLectorStudentDetailPeer::CLASS_GROUP_ID, ClassGroupPeer::ID);
     $criteria->addJoin(VSubjectAccalLectorStudentDetailPeer::ACADEMIC_CALENDAR_ID, AcademicCalendarPeer::ID);
     $criteria->addJoin(VSubjectAccalLectorStudentDetailPeer::SUBJECT_ID, SubjectPeer::ID);
     $criteria->addJoin(VSubjectAccalLectorStudentDetailPeer::EMPLOYEE_ID, EmployeePeer::ID);
     $criteria->addJoin(VSubjectAccalLectorStudentDetailPeer::CURRICULUM_ID, CurriculumPeer::ID);
     $criteria->addJoin(VSubjectAccalLectorStudentDetailPeer::DEPARTMENT_ID, DepartmentPeer::ID);
     $criteria->addJoin(VSubjectAccalLectorStudentDetailPeer::STUDENT_ID, StudentPeer::ID);
     $rs = VSubjectAccalLectorStudentDetailPeer::doSelectRS($criteria, $con);
     if ($rs->next()) {
         return $rs->getInt(1);
     } else {
         return 0;
     }
 }