sql >> Database >  >> RDS >> Mysql

MySQL IF ELSEIF in selectiequery

Je hebt wat je hebt gebruikt in opgeslagen procedures zoals dit ter referentie, maar ze zijn niet bedoeld om te worden gebruikt zoals u nu hebt gedaan. U kunt IF . gebruiken zoals getoond door duskwuff . Maar een Case verklaring is beter voor de ogen. Zoals dit:

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;

Dit ziet er schoner uit. Ik veronderstel dat je de innerlijke SELECT . niet nodig hebt hoe dan ook..



  1. Knee-Jerk Performance Tuning:onjuist gebruik van tijdelijke tabellen

  2. Hoe een 128-bits nummer op te slaan in een enkele kolom in MySQL?

  3. Waar kan ik een voorbeeld van een Mysql-database downloaden?

  4. Verifieert MySQLi standaard servercertificaten bij gebruik van SSL?