Я только что столкнулся с проблемой.
Я знаю эти целые числа, $integers
: 3,5,15,20.
Я хочу выбрать только строки из этой следующей таблицы, где все INT разделены запятыми из поля NUMBERS.
TABLE: number_table
Uid Numbers
------------------------
1 3,5,15 OK, since all of NUMBERS are in $integers
2 5,15,20 OK, since all of NUMBERS are in $integers
3 3,4,5,15 NOT OK, since 4 is not found in $integers
4 2,15,20,25 NOT OK, since 2 and 25 is not found in $integers
Можно ли сделать «для каждого» в строке, разделенной запятыми, или каким-либо другим способом сделать этот SELECT?
ОБНОВЛЕНИЕ: Похоже, это невозможно. Я оставлю это здесь на некоторое время. Просто намек. При поиске чего-либо в строке, разделенной запятыми, MySQL предоставляет WHEERE что-то IN (строка, разделенная запятыми). То, что я ищу, так или иначе, это пройти через строку через запятую, используя MySQL, но это может оказаться невозможным.
Нечто подобное может сделать это (псевдокод):
SELECT * FROM number_table WHERE each_commaseparated_substring(Numbers , 'IN (3,5,15,20)')