0

以下のクエリでは、SELECT ステートメントに IF ケースがあります。テーブルaの価格が 999999 に等しい場合は、n_price を 0 に設定します。それ以外の場合、価格は同じままです。

私が知りたいのはa.price、計算を実行する代わりに WHERE 句で n_price (クエリから更新された値) を使用する簡単な方法があるかどうかです。そうでない場合、WHERE句で値を取得する簡単な方法は何ですか

SELECT 
IF(a.price = 999999, 0, a.price)            AS n_price, 
l.quantity                                  AS n_quantity,
l.condition                                 AS n_condition

FROM b_products b  

LEFT JOIN a_products a ON b.id = a.id
LEFT JOIN l_products l ON b.id = l.id

WHERE 
AND ROUND((a.price/100*80) - l.price) >= (l.price/100*30) 
4

1 に答える 1

2

私はこれがうまくいくと思います:

AND ROUND((IF(a.price = 999999, 0, a.price)/100*80) - l.price) >= (l.price/100*30) 

n_priceselect 句で定義した名前は使用できません。

于 2012-11-21T03:16:34.620 に答える