2016-06-30 4 views
0

Я хочу получить несколько столбцов, содержащих несколько значений, используя определенное значение из одной таблицы в PHP/MYSQL.Как получить несколько столбцов, содержащих несколько значений, используя определенное значение из одной таблицы в PHP/MYSQL.

Моя структура таблицы, как,

id | Name | s_id | 
----------------------------- 
    1 | aaa | 3 10 13 | 
    2 | bbb | 1 2 5 8 16 23 | 
    3 | ccc | 1 3 11 19 25 | 
    4 | ddd | 7 15 19 25 | 
    5 | eee | 5 13 16 21 | 

Мой запрос,

"SELECT Name FROM table where s_id like '%1%'" 

я должен получить результат, как,

bbb 
ccc 

, но я получаю все имена чей «id» имеет '1' в своем значении, i.e. 1, 11, 19, 16, etc. Что я должен изменить в своем коде и структура таблицы? мне нужно использовать какой-либо разделитель? am кодируя его в php. PLS помочь мне. Спасибо заранее.

+0

'где s_id REGEXP '[[: <:]]1[[:>:]]' '? – splash58

ответ

0

Попробуйте REGEXP '[[:<:]]1[[:>:]]'

"SELECT Name FROM table where s_id REGEXP '[[:<:]]1[[:>:]]'" 
+0

Спасибо Nikhil. Я попробовал, но получаю следующую ошибку. «Ошибка анализа: синтаксическая ошибка, неожиданность» [', ожидающий идентификатор (T_STRING) или переменная (T_VARIABLE) или номер (T_NUM_STRING) " – Rev

+0

Покажите свой запрос, что вы пытаетесь до сих пор. –

+0

Ваш запрос работает нормально. Спасибо. Но если я хочу передать переменную (динамически) в мой запрос, что мне делать? PLS помочь мне. – Rev

0

Если вы храните данные таким же образом, только пробел после значения, которое необходимо отфильтровать будет работать нормально, как это «SELECT Name из таблицы, где s_id как„% 1%“»

+0

Его работая, но для немногих значений ее не работает нормально. значения, получающие несоответствие. Спасибо за ваш ответ Шьямала. – Rev

Смежные вопросы