Привет, у меня есть запрос, который вызывает у меня несколько проблем, и было предложено задать отдельный вопрос о конечном результате, а не о проблеме.
Итак, у меня есть три таблицы и некоторые пользовательские данные.
таблицы:
- пользователи,
- usersLanguages и
- usersSkills
каждая таблица имеет связанный идентификатортаблица пользователей имеет идентификатор, а в двух других они имеют идентификатор пользователя для сопоставления навыков и языков пользователям
пользовательский ввод динамический, но, например, он может быть 1 для usersLanguages и 2 для usersSkills
Пользовательский ввод берется из формы, и мне нужно сопоставить результаты поиска пользователей в зависимости от идентификаторов языков или идентификаторов навыков, которые были пройдены.например, я могу передать два идентификатора пользователя и три идентификатора языка.
SELECT DISTINCT users.ID, users.name
FROM users
INNER JOIN usersSkills
ON users.ID = usersSkills.userID
INNER JOIN usersLanguages ON users.ID = usersLanguages.userID
WHERE activated = "1"
AND type = "GRADUATE" AND usersSkills.skillID IN(2)
AND usersLanguages.languageID IN(2)
GROUP BY usersSkills.userID HAVING COUNT(*) = 1,
usersLanguages.userID HAVING COUNT(*) = 1