sql >> Database teknologi >  >> RDS >> Mysql

MySQL IF ELSEIF i udvalgt forespørgsel

Du har, hvad du har brugt i lagrede procedurer som denne til reference, men de er ikke beregnet til at blive brugt, som du har nu. Du kan bruge IF som vist af duskwuff . Men en Case statement er bedre for øjnene. Sådan:

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;

Det her ser renere ud. Jeg formoder, at du ikke kræver den indre SELECT alligevel..



  1. Sådan installeres og konfigureres phpMyAdmin på Debian 8

  2. Hvordan vælger man kun dato fra et DATETIME-felt i MySQL?

  3. tomcat7:Kunne ikke indlæse JDBC-driverklassen [com.mysql.jdbc.Driver]

  4. Klip automatisk strenge til den rigtige længde på indsatsen