У меня есть 4 таблицы, как показано ниже:
1) курсы
| ID - > Primary Key | Name
-------------------------------
| 1 | Course 1
| 2 | Course 2
| 3 | Course 3
2) страны
| IDPrimary Key | Name
-------------------------------
| 1 | Country 1
| 2 | Country 2
| 3 | Course 3
3) университеты
| ID - > Primary Key | Name | country_id
---------------------------------------------------
| 1 | University 1 | 1
| 2 | University 2 | 1
| 3 | University 3 | 3
4) university_courses
| ID - > Primary Key | university_id | course_id
----------------------------------------------
| 1 | 1 | 2
| 2 | 3 | 2
| 3 | 3 | 3
Теперь мне нужно создать один REST API в ядре PHP для приложения Android, в котором я получудва параметра country_id
и course_id
.Оба будут содержать несколько значений, таких как country_id = "3,4,5"
и course_id = "1,6,8"
.
Я должен ответить на все связанных университетов в соответствии с страной и курса.
Я пробовал ниже запрос, но я не получаю желаемый результат, поэтому, пожалуйста, помогите мне, если у кого-то есть идея для моей проблемы.
SELECT *
FROM universities
LEFT JOIN countries ON countries.id = universities.country_id
LEFT JOIN university_courses ON universiity_courses.university_id = universities.id
LEFT JOIN courses ON courses.id = university_courses.course_id
WHERE FIND_IN_SET(universities.country_id, ?)
AND FIND_IN_SET(university_courses.course_id, ?)
Если course_id = 1,2
и country_id = 2,3
, мой желаемыйвывод должен быть:
| university_id |
| 3 |