bbertt
Messages postés3Date d'inscriptionmardi 3 février 2009StatutMembreDernière intervention10 juin 2009
-
10 juin 2009 à 16:40
EricSQL
Messages postés33Date d'inscriptionsamedi 11 octobre 2008StatutMembreDernière intervention24 février 2011
-
20 juin 2009 à 13:00
Avant toutes choses, Bonjour a tous
Je tiens à vous remercier car le forum m'a permis de répondre à une grande quantité de questions durant mon stage.
Cependant, aujourd'hui je me vois obliger de demander encore un plus d'aide de votre part :
Serveur : SQL Server 2000
Dans le cadre de mon stage j'aimerais pouvoir obtenir les données comme ceci.
J'ai donc une base où j'ai les éléments suivant
Code | Temps | Mois | Année
1 | 100 h | 5 | 2009
1 | 400 h | 6 | 2009
2 | 800 h | 5 | 2009
2 | 200 h | 6 | 2009
2 | 500 h | 7 | 2009
Je voudrais obtenir la liste suivante (le but étant d'exploiter les données dans un tableau croisé dynamique)
Affaire | Temps | Mois | Année
1 | 400 h | 6 | 2009
2 | 500 h | 7 | 2009
J'ai testé differentes choses , mais aucunes ne s'est avérée concluante
J'espere
que ce que j'ai explicité ma demande au mieux, et qu'il est possible de
le faire directement en sql. Mais je suis avide de toutes les
proposition que vous pourrez me faire.
Merci d'avance de votre attention, et encore plus pour ceux qui me répondront
EricSQL
Messages postés33Date d'inscriptionsamedi 11 octobre 2008StatutMembreDernière intervention24 février 2011 20 juin 2009 à 13:00
Bonjour,
ne connaissant pas beaucoup SQL Server, je ne peux pas te donner une réponse directe, mais voici comment tu peux essayer de faire si la volumétrie n'est pas importante :
Une sous-requête qui remonte la dernière date par affaire,
une requête principale qui récupère les données pour cette affaire et cette date :
Select *
From Table
Where (Code, Année * 100 + Mois) in (
Select Code, max(Année * 100 + Mois) as DerniereDate