sql >> Base de Datos >  >> RDS >> Mysql

MySQL IF ELSEIF en consulta de selección

Tienes lo que has usado en procedimientos almacenados así como referencia, pero no están destinados a ser utilizados como los tiene ahora. Puedes usar IF como lo muestra duskwuff . Pero un Case declaración es mejor para los ojos. Así:

select id, 
    (
    CASE 
        WHEN qty_1 <= '23' THEN price
        WHEN '23' > qty_1 && qty_2 <= '23' THEN price_2
        WHEN '23' > qty_2 && qty_3 <= '23' THEN price_3
        WHEN '23' > qty_3 THEN price_4
        ELSE 1
    END) AS total
 from product;

Esto se ve más limpio. Supongo que no necesita el SELECT interno de todos modos..