Vielleicht eine blöde Frage, aber ich finde grad echt keine Lösung.
Ich möchte eine Tabelle mit Fahrzeugen nach Preis sortieren.
Manche Fahrzeuge stehen zum Verkauf. Dann soll als Sortierspalte "kaufpreis" herangezogen werden.
Manche sind Leasingangebote. Dann soll nach "leasingrate" sortiert werden.
Allerdings gemischt in der gleichen Abfrage!
Bisher habe ich mir mit ORDER BY GREATER(kaufpreis, leasingrate) beholfen. Jetzt ist der Kundenwunsch aber, auch bei Leasingangeboten einen Kaufpreis einzugeben, um bei Bedarf schnell umschalten zu können - da dieser stets größer ist als die Leasingrate, wird natürlich immer nach diesem Sortiert.
Gibt es eine Möglichkeit, eine Spalte abhängig von einer Bedingung zu sortieren? Also "Wenn modus = kauf nimm Kaufpreis; wenn modus = leasing nimm Leasingrate". IF() greift an dieser Stelle nicht, weil nicht als Sortierkriterium anwendbar. Etwas vergleichbares finde ich in der mySQL-Funktionsliste gerade nicht.
Jemand eine Idee?
Ich möchte eine Tabelle mit Fahrzeugen nach Preis sortieren.
Manche Fahrzeuge stehen zum Verkauf. Dann soll als Sortierspalte "kaufpreis" herangezogen werden.
Manche sind Leasingangebote. Dann soll nach "leasingrate" sortiert werden.
Allerdings gemischt in der gleichen Abfrage!
Bisher habe ich mir mit ORDER BY GREATER(kaufpreis, leasingrate) beholfen. Jetzt ist der Kundenwunsch aber, auch bei Leasingangeboten einen Kaufpreis einzugeben, um bei Bedarf schnell umschalten zu können - da dieser stets größer ist als die Leasingrate, wird natürlich immer nach diesem Sortiert.
Gibt es eine Möglichkeit, eine Spalte abhängig von einer Bedingung zu sortieren? Also "Wenn modus = kauf nimm Kaufpreis; wenn modus = leasing nimm Leasingrate". IF() greift an dieser Stelle nicht, weil nicht als Sortierkriterium anwendbar. Etwas vergleichbares finde ich in der mySQL-Funktionsliste gerade nicht.
Jemand eine Idee?
Kommentar