У меня в таблице есть столбец, который содержит строку типа 1,2,3,4,5 (то бишь implode обычного массива в php). Столбец называется mett Нужно каким-то образом выбрать только те записи, в которых есть хотя бы 1 элемент из заданного массива. Например если в таблице 1,2,3 а в массиве входных данных 2 4 6, то нужно вывести эту строку, т.к. число 2 есть в массиве. Как это сделать? Как разбить строку в массив, потом просмотреть есть ли элемент массива в заданном массиве? Нужно сформировать правильный select запрос. Типа select * from table where mett in ('1','2','3')
Массив для сравнения нужно преобразовать в набор записей. Т.е. список
в массиве входных данных 2 4 6
конвертируется в запросе в код, формирующий из этих данных таблицу:
SELECT 2 UNION ALL
SELECT 4 UNION ALL
SELECT 6
Эта таблица будет вместе с исходной источником данных запроса.
SELECT DISTINCT table.*
FROM table
, (
SELECT 2 x UNION ALL
SELECT 4 UNION ALL
SELECT 6
) x
WHERE FIND_IN_SET(x.x, table.mett)
Но в любом случае это плохое решение. Настоятельно рекомендую прислушаться к совету D-side и нормализовать данные.
Виртуальный выделенный сервер (VDS) становится отличным выбором
ЗдравствуйтеДелаю тестовый проект с аутентификацией VK на Spring MVC, вытаскиваю имя и фамилию пользователя на русском языке в переменную, а затем...
Это наверное тысячный вопрос по MVPПеречитал очень много статей, пересмотрел многие исходники из GitHub
При отправке запроса вот сюда https://jsonplaceholdertypicode