Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL IF ELSEIF in ausgewählter Abfrage

Sie haben das, was Sie verwendet haben, in gespeicherten Prozeduren wie hier als Referenz, aber sie sind nicht dazu bestimmt, so verwendet zu werden, wie Sie es jetzt tun. Sie können IF verwenden wie von duskwuff gezeigt . Aber ein Case Aussage ist besser für die Augen. So:

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;

Das sieht sauberer aus. Ich nehme an, Sie benötigen das innere SELECT nicht sowieso..