SELECT TOP ... VON UNION

8

Was ist der beste Weg, um TOP N Datensätze von UNION von 2 Abfragen zu selektieren?

Ich kann nicht

%Vor%

weil beide Abfragen riesige Ergebnisse liefern, brauche ich jede mögliche Optimierung und möchte vermeiden, dass alles zurückgegeben wird. Aus dem gleichen Grund kann ich auch keine Ergebnisse in die Tabelle #TEMP einfügen.

Ich kann auch SET ROWCOUNT N nicht verwenden, da ich möglicherweise Ergebnisse gruppieren muss und dieser Befehl die Anzahl der gruppierten Zeilen und nicht die zugrunde liegende Zeilenauswahl begrenzt.

Irgendwelche anderen Ideen? Danke!

    
Yuriy Galanter 02.05.2013, 14:14
quelle

2 Antworten

12

Verwenden Sie das Top-Schlüsselwort auch für innere Abfragen:

%Vor%     
Deepak.Aggrawal 02.05.2013, 14:18
quelle
1

Sie könnten Folgendes versuchen. Es verwendet ein CTE, das Ihnen zuerst die Ergebnisse beider Abfragen liefert, und dann würden Sie Ihre TOP N aus dem CTE auswählen.

%Vor%     
Chris Lumnah 02.05.2013 14:27
quelle

Tags und Links