Combiner UNION ALL et ORDER BY dans Firebird
C'est ma première tentative de répondre à ma propre question, étant donné que quelqu'un peut bien courir dans cette et il pourrait donc être de l'aide. À l'aide de l'oiseau de feu, je tiens à combiner les résultats de deux requêtes à l'aide de l'UNION de TOUS, puis trier le résultat obtenu sur une colonne donnée. Quelque chose comme:
(select C1, C2, C3 from T1)
union all
(select C1, C2, C3 from T2)
order by C3
Les parenthèses sont venus de syntaxe valide pour d'autres bases de données, et sont nécessaires pour s'assurer que les arguments à l'UNION de TOUS (une opération qui est défini à travailler sur les tables - c'est à dire un non ordonnée ensemble d'enregistrements) n'essayez pas d'être commandés individuellement. Cependant, je ne pouvais pas sortir de cette syntaxe fonctionne dans Firebird - comment peut-il être fait?
source d'informationauteur Chris
Vous devez vous connecter pour publier un commentaire.
Noms de champ ne sont pas tenus d'être égaux. C'est pourquoi vous ne pouvez pas utiliser le nom du champ dans l'ordre.
Vous pouvez utiliser le champ de l'indice de la place. Comme dans:
Comment sur:
Au moins dans les nouvelles Versions Firebird cela fonctionne si vous passez votre commande par "Nombre" au lieu d'utiliser un Alias.
Dans Firebird 1.5 cela fonctionne pour moi
et puis
Réaliser l'UNION de TOUS dans une vue (sans la clause ORDER BY), puis sélectionnez à partir de la vue à l'aide de la COMMANDE PAR.
Déplacement
order by
dans une requête queue a pas effet de sortie grille de données.