У меня есть таблица с именем 'предлагает', которая имеет столбец in_stores
. Она содержит идентификаторы магазинов, что это предложение доступно в Графически эта таблица выглядит следующим образом:.Поиск строки в массиве через SQL
id | title | in_stores
1 | Shoes | 1002,1003
2 | Gloves | 1020,1011
3 | Shades | 1002,1009
4 | Hats | 1010,1002
5 | Shoes | 1220
6 | Shirts | 1010
7 | Hats | 1002
Каждое значение в in_stores
сохраняется с implode()
функции через PHP.
Мой вопрос: Как выбрать в одном запросе mysqli
все предложения, которые доступны в магазине с идентификатором 1002. В этом примере запрос должен возвращать предложения с идентификатором 1,3,4,7 , Я предполагаю, что сначала я должен использовать нечто вроде explode(), чтобы получить результаты в массиве, а не in_array(), чтобы искать в нем определенный идентификатор, но все эти функции недоступны в SQL.
http://stackoverflow.com/questions/3653462/is-storing-a-delimited-list-in-a-database-column-really-that-bad/3653574 – e4c5
Значения, разделенные запятой, которые необходимо найти, - это очень плохая идея. Слишком поздно менять дизайн, чтобы избежать этой проблемы? – PaulF