Verwendung einer anderen Reihenfolge bei der Vereinigung

8

Ich möchte eine Abfrage wie

schreiben %Vor%

oder so ähnlich

%Vor%

Können Sie mir bitte helfen?

    
Barny 19.11.2012, 13:29
quelle

4 Antworten

10

Das sollte funktionieren:

%Vor%

Von MSDN :

  

In einer Abfrage, die UNION-, EXCEPT- oder INTERSECT-Operatoren verwendet, ORDER BY   ist nur am Ende der Aussage erlaubt. Diese Einschränkung gilt   nur wenn Sie UNION, EXCEPT und INTERSECT in einer Top-Ebene angeben   Abfrage und nicht in einer Unterabfrage .

Bearbeitet : Um die Reihenfolge zu erzwingen, müssen Sie eine ORDER BY auf die äußere Abfrage anwenden. Ich habe eine Konstante Wert Spalte zu beiden Abfragen hinzugefügt.

    
Tim Schmelter 19.11.2012, 13:32
quelle
2

Dies ist ein wirklich hacky Weg, dies zu tun. Wahrscheinlich möchten Sie diese als separate Abfragen in der Realität, aber dies sollte Ihnen das gewünschte Ergebnis geben ...

%Vor%     
Derek Kromm 19.11.2012 13:32
quelle
1

UNION mag ORDER by-Klauseln in den UNIONed-Ausdrücken nicht. Versuchen Sie Folgendes:

%Vor%

Dies macht den UNION-Operator dazu verleiten, die ORDER BYs zu ignorieren, die immer noch korrekt auf dem TOP-Operator funktionieren. Sie können eine endgültige ORDER BY anwenden, um das UNIONed-Set zu bestellen, wenn Sie möchten.

[Gilt nicht mehr genau für Ihre Frage, nachdem sie bearbeitet wurde!]

    
sebt 19.11.2012 13:36
quelle
0
%Vor%     
Damien_The_Unbeliever 19.11.2012 13:33
quelle

Tags und Links