Ich habe ein ‚Produkt‘ Tabelle mit 3 Spalten:Unterschiedliche Reihenfolge der Bedingung abhängig
id (int)
priority (1 or 0)
price (int)
Nachdem ich die Produkte nach Priorität ab bestellt haben, würde Ich mag die beiden Teilmengen nach Preis bestellen. die Teilmenge mit Priorität = 1 nach aufsteigendem Preis und jene mit Priorität = 0 nach absteigendem Preis. Ich habe versucht, Dinge wie diese:
SELECT * FROM product ORDER BY priority DESC, CASE priority = 1 THEN price END ASC, CASE priority = 0 THEN price END DESC
aber nichts schien ich versucht zu arbeiten. Irgendeine Idee, wie man das angeht? TIA
Es ist möglich, dies in einer einzigen Abfrage mit bedingten Ausdrücken zu tun Die Vereinigung ist jedoch eine schnellere und einfachere Lösung. – Shadow
Danke für die schnelle Antwort! – Philip
@Shadow Ja, du hast Recht. Es scheint so zu sein, dass dies auch mit Ordnungs- und Bedingungsausdrücken möglich ist. Ich bearbeite meine Antwort und füge sie als alternativen Weg hinzu, nur um die korrekte Syntax zu demonstrieren, da Philip es in seiner Frage fast richtig verstanden hat. – jussius