Сено, у меня есть таблица, которая имеет поле "cost_price". Когда пользователь видит это поле, он был добавлен через функцию PHP, которая возвращает новое значение (в основном добавляет 20%, а затем удаляет определенный процент на основе уровня регистрации пользователя). Скажем, эта функция называется final_price(). Это принимает и выводит float.
Я хочу создать такой запрос
SELECT * FROM `products` WHERE `member_price` BETWEEN `x` AND `y`
Однако поле 'member_price' не существует, это будет значение из функции final_price. Таким образом, "cost_price" будет запускаться через функцию final_price и помещаться в поле "member_price".
Есть ли способ сделать это?
Это может дать вам представление о том, как сделать расчет в sql:
SELECT * FROM products WHERE
cost_price * 1.2 *
(SELECT user_level * $some_coefficient FROM users WHERE user_id = $uid)
between x and y
Очевидно, что фильтр необходимо применять после вычисления, поэтому ваши параметры
В то время как технически вы можете вернуть результаты вычислений обратно в базу данных и выбрать из них, я думаю, что это будет очень плохое решение, и я должен сам себя выпороть, даже упомянув об этом.