Aide pour une requête - SQL/NoSQL - Programmation
Marsh Posté le 24-09-2007 à 16:24:44
bonjour,
passe déjà par inner join à la place de la clause where ^^
à l'arrache, je proposerai une requete comme ca:
Code :
|
Marsh Posté le 24-09-2007 à 16:42:44
faut un left outer join sur "pret", parce la revue n'est pas forcément prêtée en ce moment
Marsh Posté le 24-09-2007 à 16:43:53
ps : et une date de retour serait pas un luxe. non seulement ça permet de savoir si la personne à rendu le numéro (ça peut servir...) mais en plus ça évite un max parfaitement inutile
Marsh Posté le 24-09-2007 à 15:42:52
Bonjour, j'ai 4 tables.
1 table REVUES,1 table NUMEROS,1 table PERSONNES et une table des PRETS
-composition des tables :
REVUES : ID_revue,nom_revue
NUMEROS : ID_numero,id_revue,date_numero,statut_numero
PRETS : ID_pret,id_numero,id_pers,date_pret
PERSONNES : id_pers,nom,prenom,..
chaque revue peut avoir plusieurs numeros et chaque numero peut etre preté à une personne. pour avoir un historique on garde la liste des prets.Donc à chaque fois qu'une personne emprunte une revue effectue un nouvel enregistrement dans la table des prets.
Ce que je voudrai c'est pouvoir sortir pour chaque revue, avoir la liste de tous ses numeros,avec en face le nom de la personne qui est sensé l'avoir actuellment, la date de son pret,et le statut du numero (detruit,en pret,reçu,etc...)
Pour avoir le dernier enregistrement de pret j'avais pensé faire un MAX(date_pret) mais je n'arrive pas à avoir 1 seule ligne pour chaque numero. A cause du group by il m'en met beaucoup plus.
Voici ma requete pour le moment :
la j'ai la derniere date de pret avec l'id de la revue, mais comment avoir le nom et le statut qui vont avec ?