Привет это мой запрос из этого запроса я получаю 3 записи я хочу только одну запись и я пытаюсь группе studentid
Как группы по колонке с forloop и объединения всех
foreach ($gdFinaldata['gdskill'] as $skillId => $skillScore){
$filterQuery .= $union_all. "SELECT stu.student_pid
FROM tbl_students stu LEFT JOIN r_job_invitations jbi ON stu.student_email = jbi.email
LEFT JOIN r_job_scores jsc ON jsc.student_id = stu.student_pid
WHERE job_id = ".$jobID." AND skill_id = ".$skillId." AND gd_score >= ".$skillScore." ";
$union_all=" UNION ALL ";
} //for ends here
в recodrs будет приходят так:
SELECT stu.student_pid FROM tbl_students stu LEFT JOIN r_job_invitations jbi ON stu.student_email = jbi.email LEFT JOIN r_job_scores jsc ON jsc.student_id = stu.student_pid WHERE job_id = 88 AND skill_id = 3 AND gd_score >= 1
UNION ALL
SELECT stu.student_pid FROM tbl_students stu LEFT JOIN r_job_invitations jbi ON stu.student_email = jbi.email LEFT JOIN r_job_scores jsc ON jsc.student_id = stu.student_pid WHERE job_id = 88 AND skill_id = 63 AND gd_score >= 2
UNION ALL
SELECT stu.student_pid FROM tbl_students stu LEFT JOIN r_job_invitations jbi ON stu.student_email = jbi.email LEFT JOIN r_job_scores jsc ON jsc.student_id = stu.student_pid WHERE job_id = 88 AND skill_id = 128 AND gd_score >= 3
После этого я хочу, чтобы добавить группу, как я могу это сделать я пытался так:
$groupby = "GROUP BY student_id";
$filterStudents = $conn->query($filterQuery.$groupby);
Мой вопрос все еще возвращаются 3 записи я хочу, чтобы группировать студентом
Да, ваш запрос должен быть. SELECT * FROM (выберите ... объединение выберите ... союз выбрать ...), как grptable группы по grptable.student_pid –
что-то упущено пытается отладки .. спасибо за вашу помощь надеюсь, что это работает. –
Возможно, дополнительный столбец во внутреннем запросе ($ filterQuery), см. Обновленный ответ. –