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