Mit einer Abfrage, die zu Ergebnissen von über 500 KB führt. Was ich tun möchte, ist diese durch 100K Ergebnisse zu teilen. Ich habe Spalte eine Zeilennummer mit dem helfen, aber jetzt, dass ich Referenzierung es in meinem WHERE es nicht die Funktion verarbeitet und hält diese Fehler:Verweis auf ROW_NUMBER() in WHERE
Msg 4108, Ebene 15, Status 1, Zeile 1 Fensterfunktionen können nur in den SELECT- oder ORDER BY-Klauseln angezeigt werden.
Abfrage Referenz:
1 SELECT
2 mt.Name,
3 mt.IDNO,
4 so.IDType,
5 Row = ROW_NUMBER()OVER(ORDER BY mt.Name)
6
7 FROM MainTable mt WITH(NOLOCK)
8 LEFT JOIN SupportTable1 so WITH(NOLOCK) ON so.Name = mt.Name
9 LEFT JOIN SupportTable2 st WITH(NOLOCK) ON st.Name = mt.Name
10
11 WHERE 1=1
12 AND ROW_NUMBER()OVER(ORDER BY mt.Name) BETWEEN '1' and '100000'
Msg 4108, Level 15, State 1, Line 12 Windowed functions can only appear in the SELECT or ORDER BY clauses.
Was kann ich tun dies entweder verwenden oder gibt es eine andere Möglichkeit, das zu erforschen kann mir geben, was ich brauche?
Danke.
Sie verwenden nicht MySQL. Der Code ist offensichtlich SQL Server. –
Sie können diesen Artikel lesen, bevor Sie weiterhin alle Ihre Abfragen mit NOLOCK-Hinweisen bestreuen. http://blogs.sqlsentry.com/aaronbertrand/bad-habits-nolock-everywhere/ –