Bonjour,
J'ai beaucoup de mal à améliorer mes requêtes SQL avec des jointures, alors quand j'essaie d'en enchainer plusieurs cela devient n'importe quoi. Peut être que ce que j'essaie n'est pas terrible non plus, je m'en remets à votre aide.
Le select de base :
Qui est sensé me renvoyer une dizaine de résultats.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT id from table1 where install_etat=2
Avec ça je voulais la date la plus récente présente en base sur une autre table pour chacun de ces id.
Mais là, je n'arrive pas à avoir les dernières dates. Avant, je faisais une boucle avec un mysql_fetch_assoc sur les différents id (1ere requete), et je n'avais pas de problème pour récupérer ensuite les données , ma requête dans la boucle ressemble à qqch comme ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 SELECT tmp.dr_date, t.production FROM table2 t INNER JOIN ( SELECT MAX( `date` ) AS dr_date FROM table2 WHERE id =$id AND production !=0 )tmp ON tmp.dr_date = t.`date` WHERE id =$id AND production !=0
Mais j'aimerais trouver le moyen de tout traiter dans ma requête, j'ai regardé pas mal de code avec plusieurs jointures mais je ne comprends pas toujours le comportement qu'elles ont.
J'aurais besoin d'aller encore plus loin par la suite et ça s'annonce difficile pour moi!!
Si quelqu'un se sent de me donner une indication, un tuto qui pourrait m'aider je suis preneur!!
Merci d'avance
Partager