Requête avec plusieurs jointures
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 :
Code:
1 2 3
| SELECT id
from table1
where install_etat=2 |
Qui est sensé me renvoyer une dizaine de résultats.
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:
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