Réalisation de la numérotation des lignes dans MS Access
La fonction « Numéro de ligne sur partition par », que l'on trouve couramment dans les bases de données comme SQL Server, permet de l'affectation de valeurs entières séquentielles à des lignes dans une partition spécifiée d'un ensemble de résultats. Bien que MS Access ne prenne pas en charge cette fonction de manière native, il est possible d'obtenir un résultat similaire.
Méthode d'auto-jointure
Une approche pour émuler le « numéro de ligne sur la partition Par" dans Access, il s'agit d'une auto-adhésion inégale. Considérez le tableau suivant :
Ino | Type | DOC |
---|---|---|
1 | 1800xxc1 | 3a |
2 | 1810xxc2 | 3b |
3 | 1700xxc3 | 3c |
4 | 1700xxc4 | 3a |
5 | 1800xxc5 | 3a |
6 | 1800xxc6 | 3a |
7 | 1800xxc7 | 3b |
La requête suivante utilise une auto-jointure pour calculer les numéros de ligne dans une partition en fonction du champ "DOC" :
SELECT t1.DOC, t1.Type, COUNT(*) AS [Ino Seq] FROM MyData AS t1 INNER JOIN MyData AS t2 ON t2.DOC = t1.DOC AND t2.Ino <= t1.Ino GROUP BY t1.DOC, t1.Type ORDER BY 1, 3
Cette requête renvoie le résultat suivant :
DOC | Type | Ino Seq |
---|---|---|
3a | 1800xxc1 | 1 |
3a | 1700xxc4 | 2 |
3a | 1800xxc5 | 3 |
3a | 1800xxc6 | 4 |
3b | 1810xxc2 | 1 |
3b | 1800xxc7 | 2 |
3c | 1700xxc3 | 1 |
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!