|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : février 2011 Messages : 10 ![]() |
Bonjour.
J'ai une table T_Out et une table T_Histo. La table T_Out a pour clef primaire IDOutil, qui fait le lien avec la clef étrangère IDOutil de T_Histo. Dans la table T_Out se trouve un champ Designation. Dans la table T_Histo un champ date, et un champ Etat. J'arrive, avec du code SQL, à afficher pour chaque IDOutil la dernière Date seulement avec la fonction Max(). Jusque là pas de soucis. Sauf que quand j'essaie d'inclure dans ma requete le champ Etat, qui fait partie de T_Histo, cela ne fonctionne plus : le résultat est que dès que Etat diffère pour un même IDOutil, il me l'affiche, même si la Date n'est pas la plus récente. En gros sans le champ Etat : BJ 001_____29/02/10_____Bridgecam Jauge Avec : BJ 001_____29/02/10_____Bridgecam Jauge_____Bon BJ 001_____01/02/10_____Bridgecam Jauge_____Moyen J'espère que vous comprendrez ce que j'ai écrit. Merci de m'avoir lu, et éventuellement répondu. Cordialement, PY |
|
|
00
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() ![]() Fabien Enseignant Inscription : janvier 2009 Messages : 2 410 ![]() |
bonsoir,
hé bien normalement il ne reste plus qu'à reprendre cette requête puis faire la jointure avec la table T_Histo sur les deux champs IDOutil et Date. |
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : février 2011 Messages : 10 ![]() |
A oui, une nouvelle requete. Merci beaucoup, je vais tester ceci sous peu !
Edit : dans cette nouvelle requete, j'ai repris tous les champs de la première, dont le champ MaxDeDate, et j'y ai inclus le champ Etat. Cette fois, j'ai autant de lignes que d'Etats différents, avec en face le champ MaxDeDate rempli avec la dernière date. Faut-il intégrer quelquechose de particulier en code SQL pour qu'il ne prenne en compte que l'Etat correspondant à la dernière date ? |
|
|
00
|
|
|
#4 | |||
|
Expert Confirmé Sénior
![]() ![]() Fabien Enseignant Inscription : janvier 2009 Messages : 2 410 ![]() |
bonjour,
Citation:
Il faut ramener la date maxi pour chaque outil ce qui donne la requête, R1: Code sql :
SELECT IDOutil, Max(Datehisto) AS MaxDeDate FROM T_Histo GROUP BY IDOutil; puis on fait la jointure de R1 avec T_histo et T_Out en ramenant les champs souhaités: Code sql :
où truc approchant... |
|||
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : février 2011 Messages : 10 ![]() |
Merci beaucoup f-leb !
(et désolé pour m'être trompé de sous-forum, je m'en suis rendu compte une fois posté :s) |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com