0
我正在使用包含各种小型定制电子商务网站上的库存项目的表格。我的客户请求了一些过滤器,包括价格范围。按动态生成的字段值的值进行选择
除了根据用户帐户中的各种因素还需要依赖于用户的定价之外,它们足够简单,因此价格在查询中计算。
理想的SQL是这样的:(1.1*0.80
和1.5*0.80
是四个依赖于用户的值)
SELECT
SQL_CALC_FOUND_ROWS s.*,
IF(s.value_a <= 0.5, s.price*1.1*0.80, s.price*1.5*0.80) AS total_price
FROM stock s
WHERE
(total_price >= :minimum_price_filter AND total_price <= :maximum_price_filter)
AND (s.value_b='X' OR s.value_b='Y')
ORDER BY total_price ASC, s.value_a, s.value_b LIMIT 0,25
显然,这SELECT
计算工作正常,一样的ORDER
,和WHERE
表中的其他值:但现在在此价格过滤器中添加不起该价格字段(total_price
)的作用,并且其值在查询中动态生成。
有关如何将价格范围过滤器添加到WHERE
子句中的任何提示或提示可能实际上是可能的?
WHERE (total_price >= :minimum_price_filter AND total_price <= :maximum_price_filter)
如果它使任何不同的问题是如何接近,我在PHP和PDO我工作。
谢谢你的时间。
完美,谢谢!我会确保我阅读'HAVING'。非常感激。 – Aaron