У меня есть форма, которая отправляет выбранные значения из списка флажков в скрипт php следующим образом:
$selected_languages=$_POST["selected_languages"]; // --> "en-GB,it,fr"
Моя таблица учетных записей mysql содержит поле «spoken_languages», в котором содержится список кодов языков, на которых говорит каждый пользователь. Поле является полем VARCHAR и содержит код (ы) следующим образом:
en-US,ru,fr
Я бы хотел выбрать всех пользователей, которые говорят на любом из выбранных языков в $ selected_languages, но я не нашел эффективного и быстрого способа сделать что-то подобное:
SELECT
COUNT(accounts.user_id) as users_number,
countries.country_name
FROM accounts, countries
WHERE accounts.country_code=countries.country_code
и следующее:
AND $selected_languages IN accounts.spoken_languages
, то:
GROUP BY countries.code;
, чтобы набор записей мог указывать количество пользователей, говорящих на английском, / и итальянском, и / или французском языках, по коду страны
Объем существующего набора данных очень велик. Создать отдельную таблицу соединений users_languages? Есть ли в MySQL инструкция для этого? Создать пользовательскую функцию в MySQL?
Большое спасибо. Eric