sql >> Databasteknik >  >> RDS >> Mysql

MySQL IF ELSEIF i urvalsfrågan

Du har vad du har använt i lagrade procedurer så här som referens, men de är inte avsedda att användas som du har nu. Du kan använda IF som visas av duskwuff . Men ett Case uttalande är bättre för ögonen. Så här:

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 här ser renare ut. Jag antar att du inte kräver den inre SELECT i alla fall..



  1. Hur hämtar man den första och sista posten i en grupperad post i en MySQL-fråga med aggregerade funktioner?

  2. MySQL GROUP BY flera kolumner från olika tabeller

  3. Integrera MySQL med Python i Windows

  4. SQL Server Pre-Login Handshake Acknowledgement Error