2016-04-25 5 views
0

Ich habe MySQL Spalten price und discountPrice und ich brauche Produkte sortieren, indem price zu können und auch:Wie kann ich mit Rabattspalten mit MySQL bestellen?

IF discountPrice is NOT empty AND is NOT NULL AND is LESS THAN price 
order product by discountPrice 

Ist das irgendwie möglich?

+0

Was bedeutet es für einen Preis „leer“ zu sein? Sicherlich speichern Sie numerische Daten nicht als Zeichenfolge. –

Antwort

1

Sie können diese Logik in die order by setzen. Unter der Annahme, discountPrice numerisch ist, dies vereinfacht zu:

order by (case when discountPrice < price then discountPrice else Price end) 
0

versuchen Sie dies:

SELECT your_columns 
,case 
when discountPrice < price 
    then discountPrice 
    else price  
    end as final_price 

FROM your_tables 

WHERE final_price IS NOT NULL 

ORDER BY final_price ASC 
Verwandte Themen