Double requete dans une seule

Petit nouveau ! | 4 Messages

01 mars 2005, 17:52

Bonjour,

Voici mon pb :
j'ai deux tables, une Auteur_tbl pour les inscrits
avec en simplifiant les champs :
- ID_Auteur
- Nom_auteur

et la table Compo_tbl avec pour champs :
- ID_Auteur_fk (même valeur que ID_Auteur)
- Compo_id
- Compo_Date-Enr

Je cherche dans un espace super admin à lister tous les noms des auteurs avec en vis à vis la date de la dernière compo entrée dans la base.
Je tente ça :

Code : Tout sélectionner

$requete="SELECT DISTINCT Nom_auteur, Compo_Date-Enr FROM Auteur_tbl,Compo_tbl WHERE ID_Auteur=ID_Auteur_fk ORDER BY Nom_Prod ASC "; mysql_select_db ($base); $resultat=mySql_query($requete) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());; while($ligne=mysql_fetch_array($resultat)) { $date = $ligne[Compo_Date-Enr]; sscanf($date, "%4s-%2s-%2s %2s:%2s:%2s", $date_Y, $date_m, $date_d, $date_H, $date_i, $date_s); echo "<TR><TD >"; echo "<SPAN class='noir10-B'>$ligne[Nom_Auteur]</SPAN></TD>"; echo "<TD align='right' valign='bottom' width='140'>"; for ($i=0; $i<1 ;$i++) { echo "dernière entrée : le $date_d / $date_m / $date_Y à $date_H : $date_i </TD></TR>"; } }


Sauf que là ça liste le nom de l'auteur autant de fois qu'il y a des compos correspondantes, comment selectionner que la dernière date d'enregistrement, dans la même requête bien sûr !
:cry:

Eléphant du PHP | 287 Messages

01 mars 2005, 20:20

salut,

essaie ça :

SELECT nom_membre, max( date_compo )
FROM membre, compo
WHERE id_membre = id_membre_compo
GROUP BY nom_membre

thierry

Petit nouveau ! | 4 Messages

01 mars 2005, 22:17

Merci à toi,
ça roule, première utilsation de max(),
j'ai vu qu'il ya min() aussi...

Tchawwww !