Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL IF ELSEIF в заявката за избор

Имате това, което сте използвали в съхранените процедури като това за справка, но те не са предназначени да се използват както сега. Можете да използвате IF както е показано от duskwuff . Но Case твърдението е по-добро за очите. Като това:

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;

Това изглежда по-чисто. Предполагам, че не се нуждаете от вътрешния SELECT както и да е..



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. C# се свързва с mysql чрез потребителски контрол

  2. Не мога да се свържа с MySQL от Java:NullPointerException в логиката на свързване на драйвера на MySQL

  3. MYSQL грешка:1045 (28000):Достъпът е отказан за потребител 'root'@'localhost'

  4. (mysql, php) Как да получа стойност на полето auto_increment преди вмъкване на данни?

  5. SQL сортирането не следва група по оператор, винаги използва първичен ключ