SQL Order By ... mit "Case When" für verschiedene aufsteigende, absteigende und benutzerdefinierte Bestellungen

Ich möchte das Produkt unter bestimmten Bedingungen nach Rabatt sortieren

ORDER BY 
    CASE WHEN @OrderBy = 0
    THEN table.id END ASC,
    CASE WHEN @Orderby = 2
    THEN table.id END ASC,

Ich möchte wie folgt vorgehen, da die Tabelle keine Rabattspalte enthält

CASE WHEN @OrderBy = 4
THEN (100-((table.price/table.oldprice)*100) as discount END ASC

aber es wird ein Fehler ausgegeben - wie kann ich nach Rabatt sortieren?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage