Как в mysql выбрать записи, по параметрам которые хранятся в связанной таблице?
Всем доброго времени суток! Столкнулся с проблемой и не могу ничего придумать.
Есть 3 таблицы
block:
-id
-title
block_params:
-id
-fld
-operator
-value
-block_id
user:
-id
-firstname
-surname
-birthday
Суть в том чтобы показывать пользователю, зная его id, блоки которые подходят по условиям перечисленым в таблице params
Пример записи в таблице params:
id | fld | operator | value | block_id
8 | surname | 'LIKE "%:s"'| 'й' | 23
то есть мы должны показать блок 23 всем пользователям у которых surname оканчивается на 'й',
Не могу придумать как сделать это одним запросом. Возможно ли вообще получить все блоки передав в условие только id пользователя.
Евгений: ох, тогда все сложнее. это(пусть меня поправят, если я ошибаюсь) Dynamic SQL, Вам надо сформировать запрос в самом SQL. почитайте тут https://habrahabr.ru/post/52983/, не совсем Ваша задача, но направление тоже.