Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MySQL IF ELSEIF na consulta selecionada


Você tem o que usou em procedimentos armazenados como este para referência, mas eles não se destinam a ser usados ​​como você tem agora. Você pode usar IF como mostrado por duskwuff . Mas um Case declaração é melhor para os olhos. Assim:
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;

Isso parece mais limpo. Suponho que você não precise do SELECT interno qualquer maneira..