Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1678 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [SQL] Requete MAX

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[SQL] Requete MAX

n°1820311
bozocarzu
Posté le 01-12-2008 à 22:34:24  profilanswer
 

Bonsoir
 
J'ai besoin de vote aide sur une requête un peu complexe sous MySQL:
 
J'ai deux tables :
 
histo :
| ID_OBJ | VALUE | DATE |
| 1 | 10 | 2008-21-01 21:00:00 |
| 1 | 20 | 2008-21-01 22:00:00 |
| 1 | 15 | 2008-21-01 23:00:00 |
| 2 | 10 | 2008-21-01 19:00:00 |
| 2 | 20 | 2008-21-01 20:00:00 |
 
t_obj
| ID_OBJ | LIBELLE |
| 1 | MonObj1 |
| 2 | MonObj2 |
 
 
Je souhaite avoir la valeur value la plus récente stockée dans la table histo pour chaque objet.
 
J'ai essayé ça mais sans succès :
 

Code :
  1. SELECT t_obj.ID_OBJ, t_obj.LIBELLE, histo.VALUE
  2. FROM t_obj, histo
  3. WHERE t_obj.ID_OBJ = histo.ID_OBJ
  4. GROUP BY t_obj.ID_OBJ HAVING MAX(histo.DATE)


 
Le résultat attendu devrait être :
 
| ID_OBJ | LIBELLE | VALUE
| 1 | MonObj1 | 15
| 2 | MonObj2 | 20
 
Le résultat me paraît simple à obtenir mais je n'y arrive pas malgrès beaucoup d'essai.
 
Merci pour votre aide.

mood
Publicité
Posté le 01-12-2008 à 22:34:24  profilanswer
 

n°1820597
olivthill
Posté le 02-12-2008 à 13:18:58  profilanswer
 

"Having Max" n'est pas du SQL, ou du moins pas standard.
 
La méthode habituelle consiste à utiliser une sous-requête. Essayer :

SELECT t_obj.ID_OBJ, t_obj.LIBELLE, histo1.VALUE
  FROM t_obj, histo histo1
 WHERE t_obj.ID_OBJ = histo1.ID_OBJ
   AND histo1.DATE
       IN (SELECT MAX(histo2.DATE)
             FROM histo histo2
            WHERE histo2.ID_OBJ = histo1.ID_OBJ);


Message édité par olivthill le 02-12-2008 à 13:19:25

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [SQL] Requete MAX

 

Sujets relatifs
Export requete oracle en CSV via la ligne de commandeXML et Sql Loader
ecriture SQL[SQL]Erreur que je ne parviens pas à trouver dans une requête?!
Sécurité contre les injections SQLAccélérer du SQL avec de l'ASM x86?
Problème Requete[SQL] Pb avec requete SQL MAX
[SQL] aide pour une requete contenant MIN,MAX et COUNT[SQL Server] aide pour faire une requète avec un MAX()
Plus de sujets relatifs à : [SQL] Requete MAX


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)