problème requete selection de dates récentes

Mammouth du PHP | 702 Messages

25 juin 2012, 10:40

Bonjour à tous, j'ai une requête faite avec jointure,e mais le soucis c'est que j'aurais besoin de sélectionner un taux d'intérêt qui peut varier avec le temps et sachant que j'ai besoin de garder en mémoire les intérêts déjà échus, les autres taux anciens sont conservés.
j'ai donc essayé ainsi:
$rqt	=	"SELECT * FROM `interets` INNER JOIN `les_taux` ON `type`.`interets`=`type`.`les_taux` WHERE `n_doss`='".mysql_real_escape_string($donnees['n_doss'])."' AND  MAX('`date_modif`.`les_taux`')";
mais à priori cela ne fonctionne pas avec MAX('`date_modif`.`les_taux`') et je ne sais pas comment procéder pour qu'il sélectionne le taux le plus récent.

Par avance merci pour votre aide.

ViPHP
xTG
ViPHP | 7331 Messages

25 juin 2012, 11:05

Je passerai par une sous-requête, de plus tu inverses le nom de la table et le nom de la colonne (cf type.interets et compagnie).
$rqt = "SELECT * FROM `interets` WHERE `n_doss`='".mysql_real_escape_string($donnees['n_doss'])."' AND 
 (SELECT MAX(`les_taux`) FROM `date_modif` WHERE `les_taux`.`type` = `interets`.`type`) = `mon_taux`";
Remplaces mon_taux par le champ correspondant de ta table.

A tester. :)

Mammouth du PHP | 702 Messages

25 juin 2012, 11:11

j'ai essayé ainsi mais ça renvoi un résultat vide alors qu'en théorie non
$rqt	=	"SELECT * FROM `interets` INNER JOIN `les_taux` ON `interets`.`type`=`les_taux`.`type` WHERE `interets`.`n_doss`='".mysql_real_escape_string($donnees['n_doss'])."' AND  `les_taux`.`date_modif`='(SELECT MAX(date_modif) FROM les_taux WHERE code_client=".$donnees['code_client'].")'";

Mammouth du PHP | 702 Messages

25 juin 2012, 11:23

c'est bon, le soucis était du fait que ma sous requête était entourée de simple quotes alors qu'il n'en faut pas.

Merci :)