Hay,我有一张表有一个'cost_price'字段的产品。当用户看到这个字段时,它已经通过PHP中的一个函数来返回一个新值(基本上增加了20%,然后根据用户的注册级别删除了一定的百分比)。假设这个函数叫做'final_price()'。这将获取并输出一个浮动。
我想预先形成像这样的查询
SELECT * FROM `products` WHERE `member_price` BETWEEN `x` AND `y`
但是'member_price'字段不存在,这将是'final_price'函数的值。所以'cost_price'将通过'final_price'函数运行并放入'member_price'字段。
有办法做到这一点吗?
答案 0 :(得分:2)
这可以让您了解如何在sql中进行计算:
SELECT * FROM products WHERE
cost_price * 1.2 *
(SELECT user_level * $some_coefficient FROM users WHERE user_id = $uid)
between x and y
答案 1 :(得分:0)
显然,计算后需要应用过滤器,因此您的选项是
虽然从技术上讲你可以将计算结果反馈到数据库中并从中进行选择,但我认为这将是一个非常糟糕的解决方案,而且即使提及它我也不得不喋喋不休。