2009-08-19 7 views
0

J'utilise cette requête pour obtenir des résultats d'une manière de pagination. Cependant, quand j'ai essayé de l'exécuter comme je reçois des erreurs Invalid column name 'RowNum'Pourquoi ma requête ne peut-elle pas localiser la colonne RowNum?

DECLARE @PageNum AS INT; 
DECLARE @PageSize AS INT; 
SET @PageNum = 2; 
SET @PageSize = 10; 
WITH videosrn AS 
(
    SELECT ROW_NUMBER() OVER(ORDER BY videoid) AS RowNum 
      ,videoid 
      ,title 
     FROM videos 
) 
SELECT * FROM videos 
WHERE RowNum BETWEEN (@PageNum - 1) * @PageSize + 1 AND @PageNum * @PageSize 
ORDER BY videoid 

Quel est le problème ici? RowNum est une colonne implicite calculée dans Oracle.

Répondre

4

Vous devez select * from videosrn (non videos)

+0

Oui exactement ... merci beaucoup – Nagu

1

Utilisez un nom différent

+0

Je ne suis pas en train d'essayer d'exécuter dans le serveur SQL. comment je l'ai changé pour rownum1 mais je reçois toujours le même problème – Nagu

Questions connexes