2009-10-20 6 views
0

En fait, j'ai la tâche de trouver les employés en fonction du rang salarial.Dense_Rank() alternative dans sql server 2000? (Set based)

J'ai donc utilisé Dense_Rank() et obtenu la réponse.

Au départ, on m'a dit de résoudre dans SQL Server 2005.

Plus tard ils ont changé l'exigence et dit que la requête doit être exécutée dans SQL Server 2000 également. J'ai résolu cela en utilisant une boucle while. Mais ils disent qu'ils accepteront la solution en utilisant l'approche SET BASED.

Comment faire?

Merci à l'avance

+0

Pouvez-vous fournir quelques-uns détails - quelles sont les colonnes (y compris le type de données) de la table 'EMPLOYEES'? Quelle était votre solution qui utilisait une boucle WHILE? –

Répondre

0

Vous pouvez essayer quelque chose comme ceci:

SELECT * , 
    (SELECT COUNT(C1) 
     FROM  T1 
     WHERE  P1.C1>= T.C 
    ) AS Rnk 
FROM T 
ORDER BY C DESC; 
Questions connexes