Bestellen SQL-Abfrage von bestimmten Feldwerten
Ich habe eine sql-Abfrage (mit Firebird als die RDBMS), die ich brauche, um die Ergebnisse von einem Feld, EDITION. Ich brauche, um durch den Inhalt des Feldes, jedoch. also "NE" geht zuerst "OE" geht die zweite, "OP" geht der Dritte und Leerzeichen gehen letzten. Leider, ich habe keine Ahnung, wie dieses erreicht werden könnte. Alle, die ich je gemacht habe, ist die ORDER BY [FELD] ASC/DESC und sonst nichts.
Irgendwelche Vorschläge?
Edit: ich sollte wirklich klarstellen: ich habe nur gehofft zu erfahren Sie hier mehr. Ich habe es jetzt, dass ich nur noch mehrere select-Anweisungen definieren, welche zuerst zeigen. Die Abfrage ist ziemlich groß und ich war wirklich gehofft, um zu erfahren, eventuell eine mehr effiziente Art, dies zu tun:
Beispiel:
SELECT * FROM RETAIL WHERE MTITLE LIKE 'somethi%' AND EDITION='NE'
UNION
SELECT * FROM RETAIL WHERE MTITLE LIKE 'somethi%' AND EDITION='OE'
UNION
SELECT * FROM RETAIL WHERE MTITLE LIKE 'somethi%' AND EDITION='OP'
UNION (etc...)
InformationsquelleAutor der Frage Cyprus106 | 2008-12-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
InformationsquelleAutor der Antwort Charles Bretana
Fügen Sie diese Werte in einer anderen Tabelle mit einer numeric-Spalte für den Rang:
Join der Tabellen und Sortieren nach dem Feld RANG.
InformationsquelleAutor der Antwort Peter T. LaComb Jr.
InformationsquelleAutor der Antwort Pulsehead
Versuchen:
InformationsquelleAutor der Antwort RedFilter
Versuchen Sie dies:
InformationsquelleAutor der Antwort user49953
Für mehr Details klicken Sie hier
InformationsquelleAutor der Antwort Singh
Wie über dieses?
Wenn substr ist eine leere Zeichenfolge, das Ergebnis ist 1.
Wenn keine übereinstimmung gefunden wird, ist das Ergebnis 0.
Position()
Hinzugefügt in Firebird 2.1
Referenz:
https://firebirdsql.org/refdocs/langrefupd21-intfunc-position.html
InformationsquelleAutor der Antwort H.He