К примеру, нужно что-бы искались фразы название + бренд, но бренды хранятся в отдельной таблице.
SELECT
`a`.*,
CONCAT(`a`.`name`, ' ', `b`.`name`) AS `full_name`
FROM
`prods` AS `a`
LEFT JOIN
`brands` AS `b` ON `a`.`brands_id` = `b`.`id`
HAVING
`full_name` LIKE '%Кроссовки Adidas%'
Поле `category` содержит список id, разделенный запятыми (1,2,3,4,5...).
Нужно найти записи, у которых хоть одно значение пересекается со списком 1,3,5.
SELECT * FROM `prods` WHERE `category` REGEXP '(^|,)(1|3|5)(,|$)'