Когда я ищу несколько полей с MySQL LIKE
, есть ли способ узнать, в каких полях найдена строка?MySQL: Список полей, в которых была найдена строка поиска?
SELECT * FROM DB WHERE title like "%search%" OR description LIKE "%search%" or tags LIKE "%search%
Я знаю CASE
WHEN
:
SELECT *,CASE WHEN title like "%search%" THEN 'title' [...] END AS found_in WHERE [...]
Но в конечном счете, я хотел бы разделенный запятыми список полей, если строка была найдена в нескольких областях.
Возможно ли это?
Редактировать, чтобы уточнить:
Я хотел бы мое поле `found_in' быть„название, описание“, когда термин поиска найдено в названии & описании.
Спасибо, но запрос работает отлично. – thomas
Я обновил свой запрос, попробовал это @thomas. –