У меня есть таблица User
, в которой есть коллекции Role
и коллекции City
.
Мне нужно реализовать логику фильтра, например, /? Towns = LA, Berlin & role =Администратор , который возвращает пользователей с {LA and Berlin and other if it has}
и ролью {Admin}
SELECT * FROM user
LEFT JOIN user_city
ON user.id = user_city.user_id
LEFT JOIN city
ON city.id = user_city.city_id
WHERE city.name in ('LA','Berlin')
GROUP BY
HAVING COUNT(*) = 2;
Работает по одному критерию, как сделать с двумя и более?Мне нужно сделать это по критериям Spring, но лучше было бы понять, как это работает в SQL сначала.