У меня есть столбец MEDIUMTEXT, который содержит значения, которые поступают из goup_concat, в виде INT, INT, INT. Мы можем назвать это Concatenated_IDsMYSQL найти INT в строке
Длина строки может быть 1 int или больше.
мне нужно разбить его на исходные значения каким-то образом, чтобы иметь возможность сделать что-то такое, как
SELECT
table_country.name
FROM
table_country
WHERE
table_country.country_id IN (
SELECT
Concatenated_IDs
FROM
table_targeted_countries
WHERE
table_targeted_countries.email LIKE "%gmail.com")
и получить названия стран, что пользователи, зарегистрированные с целью адреса Gmail.
Я рассмотрел взрывать MEDIUMTEXT в INT, создавая одну строку для каждого межд, вроде как обратный CONCAT, но я предполагаю, что потребуется ряд процедур
редактирования: переформулировать название вопроса
Спасибо, FIND_IN_SET решить мою проблему. таблица будет нормализована некоторое время в будущем, она находится в длинной очереди – AdrianBR
LOCATE() также будет работать, если вы префикс и суффикс всех строк с помощью «,». например 'LOCATE (CONCAT (',', id_to_find, ','), CONCAT (',', Concatenated_IDs, ','))'. Для этого сделано FIND_IN_SET(). – 2013-05-03 15:09:02