Eine andere Möglichkeit wäre eine Validierungstabelle für die Statusspalte zu haben, genannt etwas wie VAL_GAME_STATUS. GAMES.STATUS wäre ein Fremdschlüssel zu VAL_GAME_STATUS sein und VAL_GAME_STATUS wie
aussehen migt
CREATE TABLE VAL_GAME_STATUS -- Oracle format - modify as needed for other DB
(STATUS NUMBER PRIMARY KEY,
DESCRIPTION VARCHAR2(50) NOT NULL UNIQUE,
SORT_ORDER NUMBER NOT NULL UNIQUE);
Vor diesem Hintergrund wird die Abfrage sortierten Ergebnisse von GAMES zu holen wird
SELECT g.*
FROM GAMES g
INNER JOIN VAL_GAME_STATUS s
USING (STATUS)
ORDER BY s.SORT_ORDER;
Der Nachteil hierbei ist, dass Sie brauchen, um Machen Sie einen Join, um die Daten zu sortieren, aber es ist ein kleiner Treffer, da VAL_GAME_STATUS eine kleine Tabelle ist, die wahrscheinlich im Speicher gehalten werden kann. Der Vorteil ist, dass Sie die Sortierreihenfolge im laufenden Betrieb ändern können, ohne Ihren Code zu berühren. Das Hinzufügen neuer Statuswerte mit einer geeigneten Sortierreihenfolge ist ebenfalls problemlos möglich.
Teilen und genießen.
das wäre die richtige Antwort gewesen, aber das OP fragte nach Bestellung 1,0,2 – ajacian81
@ ajacian81: Der Kommentar davor widerspricht, aber ich denke, die Konsistenz der Beispiele gibt genug von einer Idee, wie man nach Bedarf ändern . –