Requete avec Addition d'enregistrements

Eléphant du PHP | 84 Messages

22 janv. 2006, 02:19

Bonjour à tous,

Voilà mon problème.

J'utilise deux tables MySql table1 et table2.

Je voudrais contruire une requete me permettant de trouver les enregistrements de table2 répondant à prix_maxi.table1 >= (prix1.table2 + prix2.table2).

Merci de votre aide.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

22 janv. 2006, 02:36

il faut un champ qui fasse le lien entre les deux tables et ensuite un critère de sélection. Quelque chose du style:
$sql = "SELECT * 
		FROM table2 INNER JOIN table1 ON table1.id = table2.id 
		WHERE table1.prix_maxi >= (table2.prix1 + table2.prix2)";

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 84 Messages

22 janv. 2006, 03:11

Merci mais entre temps j'ai trouvé quelque chose qui semble fonctionner.

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

22 janv. 2006, 11:50

Tu veux pas nous montrer ta solution ? ;)

Eléphant du PHP | 84 Messages

22 janv. 2006, 19:25

Pas de problème :wink:

Dans mon cas cela donne:

Code : Tout sélectionner

$loyer_maxi = mysql_result($requete,0,'loyer_maxi'); // table1 $select = 'table2.num_annonce'; $where = table2.date_activation >0'; $where.= ' AND (table2.loyer + table2.charges = "'.$loyer_maxi.'" OR table2.loyer + table2.charges < "'.$loyer_maxi.'")'; ...
est cela fonctionne.

Administrateur PHPfrance
Administrateur PHPfrance | 3088 Messages

22 janv. 2006, 20:08

À part si j'ai mal lu, tu peux remplacer la dernière ligne par
$where.= ' AND table2.loyer + table2.charges <= '.$loyer_maxi;

Eléphant du PHP | 84 Messages

23 janv. 2006, 00:32

Exact! Cela fonctionne aussi et c'est plus clair :wink: