Как объединить 4 таблицы в MySQL PDO? - PullRequest
0 голосов
/ 01 января 2019

У меня есть 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             |
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...