Bonjour à tout les membres de ce forum.
J'ai un soucis avec ma requête.
En effet je souhaiterais compter chaque enregistrement par ordre croissant sur le le Nom en mettant le numéro qu'il occupe dans cette liste.
C'est a dire si j'ai 5 enregistrements composés de Nom et de Prenom
comme suite:
Nom Prenom
Sankara Adama
Coulibaly Adama
Kouame Kouadio Parfait
Kouame kouadio jean
bouba inoussa
Je souhaite affecter devant chaque enregistrements le numero occupé en vue d'en faire une liste(du style liste de Classe)
Comme de cette manière
Bouba Inoussa 01
Coulibaly Adama 02
Kouame Kouadio Jean 03
Kouame kouadio Parfait 04
Sankara Adama 05
Le but c'est de savoir a quelle place de la liste une Personne se retrouve
Pour ce faire j'ai créer une requête a partir de la table tPersonne(qui contient les enregistrements) dénommé rPlaceOccupe
et ensuite j'ai utiliser cette syntaxe sql
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT tPersonne.[IdPersonne], tPersonne.Nom, tPersonne.Prenom, (SELECT COUNT(*) + 1 FROM (SELECT DISTINCT [Nom] FROM [tPersonne] AS T2) WHERE T2.[Nom] < [tPersonne].[Nom] ) AS NumeroOccupe FROM tPersonne ORDER BY tPersonne.Nom;
Voici le resultat obtenue
Si vous remarquez bien il y a des NumeroOccupe qui sont "répété"
comme c'est le cas des deux "Kouame Kouadio" au lieu de mettre 3 pour le premier
et 4 pour le second il met 3 partout.
J'ai utiliser la fonction Iff(Merci à toi Jimbolion) mais sans succès.
Voici ci joint la base de Donnée en question.
Adama13Developpez.rar
En attente d'une aide de votre part recevez mes salutations les plus distinguées et de très bonne fête de fin d'Année à vous.
Partager