Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL IF ELSEIF dans la requête select

Vous avez ce que vous avez utilisé dans les procédures stockées comme ceci pour référence, mais ils ne sont pas destinés à être utilisés comme vous le faites actuellement. Vous pouvez utiliser IF comme indiqué par duskwuff . Mais un Case déclaration est meilleure pour les yeux. Comme ceci :

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;

Cela semble plus propre. Je suppose que vous n'avez pas besoin du SELECT intérieur en tout cas..