Die Kombination von UNION und ORDER BY in Firebird
Dies ist mein Erster Versuch bei der Beantwortung meiner eigenen Frage, da kann jemand gut mit diesem und so kann es eine Hilfe sein. Mit Firebird, ich will kombinieren Sie die Ergebnisse von zwei Abfragen mit UNION ALL, dann Sortieren Sie die Ausgabe auf eine bestimmte Spalte. So etwas wie:
(select C1, C2, C3 from T1)
union all
(select C1, C2, C3 from T2)
order by C3
Den Klammern kam gültige syntax, die für andere Datenbanken, und sind erforderlich, um sicherzustellen, dass die Argumente für die UNION ALL (eine operation, definiert die Arbeit an Tabellen ist, d.h. ein unordered Datensätze) versuchen Sie nicht einzeln bestellt werden. Jedoch ich konnte nicht diese syntax funktioniert im Firebird - wie kann es getan werden?
InformationsquelleAutor der Frage Chris | 2008-12-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
InformationsquelleAutor der Antwort Cade Roux
Feldnamen sind nicht erforderlich, gleich zu sein. Das ist, warum Sie nicht verwenden können die Feldnamen in der Reihenfolge durch.
Sie können die Feld-index statt. In:
InformationsquelleAutor der Antwort Douglas Tosi
Wie etwa:
Zumindest in den neueren Firebird-Versionen funktioniert es, wenn Sie die Bestellung durch "Nummer" anstelle der Verwendung eines Pseudonyms gestattet.
InformationsquelleAutor der Antwort KCM
In Firebird 1.5 das funktioniert für mich
dann
InformationsquelleAutor der Antwort Tiago Moraes
Führen Sie die UNION ALL-in-Ansicht (ohne die ORDER BY-Klausel), dann wählen Sie aus der Ansicht mit ORDER BY.
InformationsquelleAutor der Antwort Chris
Bewegen
order by
in einer Abfrage Schwanz hat keine Wirkung Ausgabe datagrid.InformationsquelleAutor der Antwort kai3341