Frage

Dies ist eine dumme Frage. Lassen Sie uns sagen ich eine Abfrage, die für ein Listenfeld erzeugt, und es produziert Werte für drei Geschäfte

Store A     18
Store B     32
Store C     54

Wenn ich nun ORDER BY in der SQL-Anweisung das einzige, was es tun wird absteigend oder alphabetisch aufsteigend, aber ich möchte eine gewisse Ordnung (nur, weil sie eine gewisse Ordnung WILL) ..... so gibt es eine Möglichkeit für mich, etwas zu dem SQL hinzufügen zu bekommen

Store B
Store C
Store A

d. im Grunde Zeile für Zeile, was ich will. Dank!

War es hilfreich?

Lösung

Fügen Sie ein numerisches Feld, Sequenzer , auf die Tabelle, die die Speichernamen enthält. Verwenden Sie die Sequenzer Werte Ihrer Sortierreihenfolge zu bestimmen.

SELECT sequencer, store_name FROM YourTable ORDER BY sequencer;

In der Liste Feld die Spaltenbreite = 0 für die Sequenzer Spalte.

Oder einfach, wie @ dscarr vorgeschlagen , beinhalten nicht Sequenzer in der SELECT Feldliste, aber nur schließen sie in den ORDER BY ...

SELECT store_name FROM YourTable ORDER BY sequencer;

Andere Tipps

Sie können 1 von 2 Dinge tun.

Verwenden Sie entweder einen SWITCH abgetan, so etwas wie

SELECT Table1.Store, 
       Table1.Val, 
       Switch([Store]="StoreB",1,[Store]="StoreC",2,[Store]="StoreA",3) AS Expr1
FROM Table1
ORDER BY Switch([Store]="StoreB",1,[Store]="StoreC",2,[Store]="StoreA",3);

oder verwenden Sie eine sekundäre Auftragstabelle, dass speichert die Werte der Speichernamen und ein Auftrag von Wert.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top