Sql php , requete imbriquée sum ()
Résolu
hind5charb
Messages postés
15
Statut
Membre
-
Pitet Messages postés 2845 Statut Membre -
Pitet Messages postés 2845 Statut Membre -
salut ,
après l'insertion des données dans la base de données (des opérations économique) , j'ai afficheé la somme du montants de chaque opération
avec cette commande
select ROUND(sum(montant),3) as total from opp where nom_op="adv" and date=(select date_format(now(),"%Y-%m-%d") );
(chaque opération
mais , je besoin d'utiliser les résultats dans une autre formule .
exp (total1+total2-total3).
pouvez vous me donner une solution (sql ou php) .
après l'insertion des données dans la base de données (des opérations économique) , j'ai afficheé la somme du montants de chaque opération
avec cette commande
select ROUND(sum(montant),3) as total from opp where nom_op="adv" and date=(select date_format(now(),"%Y-%m-%d") );
(chaque opération
mais , je besoin d'utiliser les résultats dans une autre formule .
exp (total1+total2-total3).
pouvez vous me donner une solution (sql ou php) .

1 réponse
-
Salut,
En sql, tu peux utiliser le mot clé UNION pour regrouper le résultat de plusieurs requête, puis effectuer un SUM sur ce résultat.
Par exemple :SELECT SUM(total) FROM ( select ROUND(sum(montant),3) as total from opp where nom_op="adv" and date=(select date_format(now(),"%Y-%m-%d")) UNION select ROUND(sum(montant),3) as total from opp where nom_op="autre" and date=(select date_format(now(),"%Y-%m-%d")) UNION select ROUND(sum(montant),3) as total from opp where nom_op="encore autre" and date=(select date_format(now(),"%Y-%m-%d")) ) t1
Bonne journée,-
salut ,
je vous remercier à cette aide , mais j'ai une autre question si c'est possible ,
y a-t-il une méthode pour maître les résultats d'une requête sql dans une autre variable simple (php)
par exp
while($donnees=$reponse->fetch()){
$m=".$donnees['total'].";
}
parceque j'ai besoin d'utiliser les résultats de sum dans une autre formule ( total1 - total2) (soustraction )
merci une autre fois . -
Si ta requête sql ne retourne qu'un seul résultat, un unique fetch suffit, pas besoin de boucle while.
Si en plus le résultat ne contient qu'une seule colonne (ici total), tu peux également utiliser fetchColumn pour récupérer directement se résultat :
https://www.php.net/manual/fr/pdostatement.fetchcolumn.php
En reprenant l'exemple de la doc :$bdd = new PDO('...'); $result = $bdd->query('SELECT SUM(total) ...'); $total1 = $result->fetchColumn(); $result = $bdd->query('SELECT SUM(total) ...'); $total2 = $result->fetchColumn(); $result = $bdd->query('SELECT SUM(total) ...'); $total3 = $result->fetchColumn(); $totalFinal = $total1 + $total2 + $total3;
-