0 votes

Récupérer les derniers enregistrement de chaque matricule d'une table sql server

Bonsoir,

Bon j'ai une table Agent avec un Matricule comme PK et une autre Table Bulletin avec plusieurs enregistrements lié a l'agent (FK Matricule) en gros cela donne les deux table suivantes :

Table Agent :

Matricule | Civilité | .....etc

0001 | M | .....etc

0002 | Mme | .....etc

Table Bulletin :

id | date_ajout | Matricule | info1 | info2

1 | 20200101 | 0001 | ect | etc

2 | 20200212 | 0001 | ect | etc

3 | 20200314 | 0002 |...................

4 | 20200416 | 0002 |..................

5 | 20200418 | 0001 | .....................

J' Aimerai crée une vue dans lequel j'aurais toutes les Dernières occurrences de chaque Matricule ajouter dans la Table Bulletin (dans l'exemple j'aurais simplement les deux lignes dont ID est respectivement 4 et 5)

j' ai utiliser cette requête qui marche bien :

SELECT L.* FROM Bulletin L INNER JOIN (SELECT Matricule, Max(date_Ajout) AS Date FROM Bulletin GROUP BY Matricule ) G  ON  L.Matricule = G.Matricule AND L.Date_Ajout = G.Date 

Mais je ne peut malheureusement pas transformer cette requête en Vue Indexé j'aimerais savoir si il aurais une autre solution plus simple a mettre en place pour avoir une Vue indexable.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X