Ich habe eine SQLite-Datenbank in Android mit einigen Tabellen, einer von ihnen ist dies:
trainings (date TEXT, exercise TEXT, repetitions INTEGER, weight REAL)
und es hat zwei Indizes in Gewicht und Wiederholungen sind beide ASC.
Das ist die Sache, in einer Select-Anweisung mit der Reihenfolge nach Wiederholungen habe ich so etwas bekommen:
Select * from trainings WHERE exercise=""+exercise+"" AND repetitions != "-" AND repetitions != 0 ORDER BY COALESCE( weight, date);
0
0
0
12
13
25
-
-
Ich möchte wissen, ob es möglich ist, das "-"Ergebnisse am Anfang und nicht am Ende, denn in meiner App behandle ich 0 und "-" als die gleiche Sache und ich muss bestellen, diese beiden Daten zusammen zu bekommen.
Irgendwelche Vorschläge? Danke im Voraus
Antworten:
1 für die Antwort № 1Um beliebige Werte in andere willkürliche Werte zu transformieren, benutzen Sie die CASE Ausdruck; etwas wie das:
... ORDER BY
CASE COALESCE(weight, date)
WHEN "-" THEN 0
ELSE COALESCE(weight, date)
END