mepihin
@mepihin
Креативный PHP программист

Как с помощью SQL вывести запрос с 2 inner join?

Здравствуйте.
Есть 3 таблицы в БД act_courses, inf_courses и inf_statuses.
act_courses:
  • USER_ID
  • COURSE_ID (номер курса, на который записались)
  • STATUS_ID (номер статуса, который показывает действие)
inf_courses:
  • ID (номер курса)
  • NAME (название курса)
inf_statuses:
  • ID (номер статуса)
  • NAME (название статуса)


Пример структуры:
5bd7052b4c560374408670.png

Мне необходимо составить такой запрос, чтобы были выведены все COURSE_ID заменились на их имена, все STATUS заменились на имена, а также было посчитано количество STATUS для каждого курса.

То есть итог будет такой:
На курс ТАКОЙ-ТО ЗАПИСАЛОСЬ (Status = 1) ЧЕЛОВЕК. Причем вот это ЗАПИСАЛОСЬ меняется в соответствии с ID status.

Спасибо.
  • Вопрос задан
  • 114 просмотров
Пригласить эксперта
Ответы на вопрос 1
kimono
@kimono
Web developer
Попробуйте как-то так:
SELECT inf_courses.name, inf_statuses.name, count(*) cnt FROM act_courses
LEFT JOIN inf_courses ON act_courses.course_id = inf_courses.id
LEFT JOIN inf_statuses ON act_courses.status_id = inf_statuses.id
GROUP BY act_courses.course_id, act_courses.status_id -- для группировки по курсу и статусу
-- либо GROUP BY act_courses.course_id для группировки только по курсу
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы