Я пишу запрос, который должен позволить мне искать в разных столбцах для определенной строки поиска.mysql - используя concat для значения внутри одной ячейки
Моя база данных в 3 колонки мне нужно искать и сравнивать строку поиска:
manufacturer
model
number
Проблема у меня в том, что люди должны иметь возможность искать (в любом порядке), каждый из этих столбцов ,
Теперь я использовал concat_ws('%20',manufacturer,model,number) like '%$q%'
, и это работает.
Давайте предположим, что у меня есть эти значения в моих DB столбцов (как сейчас, нет запятых и нет разделителя - они не являются имена в моем чтении DB, я упростил их как буквы здесь для простоты):
manufacturer: A B
model: C D E
number: F G H
и я хочу найти:
A B C D F H //this doesn't work.
A C F //this does work.
проблема у меня в том, что все мои столбцов могут быть составлены несколькими, разделенных пробелом, слов.
Как я могу искать каждое слово в каждом столбце в любом порядке?
надеюсь, что этот вопрос достаточно ясен, пожалуйста, не стесняйтесь спрашивать более подробную информацию, если требуется.
Благодаря
В чем причина использования concat? Вы можете сделать что-то вроде этого: 'производитель как '% string%' или модель типа '% string%' или number like '%%'' –
Это было потому, что мне нужно было искать каждый столбец в любом возможном orfder , Я только что протестировал ваше предложение, но это тоже не сработает, потому что я получаю строку, содержащую номер модели производителя, и производитель, например, «% номер модели производителя%» пуст, так как я не в колонке производителя например – Nick
Не могли бы вы разместить полный sql? –