sql >> Databáze >  >> RDS >> Mysql

MySQL IF ELSEIF ve výběrovém dotazu

Máte to, co jste použili v uložených procedurách takto pro referenci, ale nejsou určeny k použití jako nyní. Můžete použít IF jak ukazuje duskwuff . Ale Case výrok je pro oči lepší. Takhle:

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;

Tohle vypadá čistěji. Předpokládám, že nepotřebujete vnitřní SELECT každopádně..



  1. Vyladění operací vstupu/výstupu (I/O) pro PostgreSQL

  2. Funkce IIf() vs. Příkaz IIf().

  3. převést řetězec na datum php

  4. Hierarchie kategorií (PHP/MySQL)