interroger plusieurs tables en une seule requete

interroger plusieurs tables en une seule requete - PHP - Programmation

Marsh Posté le 05-10-2015 à 16:02:37    

Bonjour,  
 
j'ai la requête suivante :  
 
$requete2= "SELECT SUM(total_ht) AS total_global_p1 FROM fa UNION ALL SELECT SUM(total_ht)FROM nc";
 
il me donne bien les valeurs SUM(total_ht) de fa et de nc  
Mais voilà comment pourrais je distinguer les deux valeurs (leur donner un nom) car je dois pouvoir les soustraire,les additionner ect..  
 
Merci à vous car là je cherche depuis ce matin :(


Message édité par cyberpilou1410 le 07-10-2015 à 19:53:03
Reply

Marsh Posté le 05-10-2015 à 16:02:37   

Reply

Marsh Posté le 05-10-2015 à 16:14:07    

Bonjour !
 
Si vous faites une union, vous mélangez les valeurs retournées, il vous faut retourner deux valeurs séparées.
 
Mes cours et ma pratique du SQL ont pas loin de 20 ans (et je n'ai pas de base sous la main), donc soyez indulgent(s) sur ce que je vais écrire, le risque de dire une bêtise est important :) :

Code :
  1. select sum(a.total_ht) total1 , sum (b.total_ht) total 2from total_global_p1 a, nc b


 
Je ne sais plus si il faut utiliser le mot clé "as" pour les alias, ou si ça dépend du SGBD qui est derrière ...
 
Bonne continuation !

Reply

Marsh Posté le 05-10-2015 à 20:27:26    

Merci j'ai testé mais je ne comprends pas bien car si je comprends la requete on interroge pas la base fa ?

Reply

Marsh Posté le 06-10-2015 à 09:43:11    

Si, pardon ! J'ai écrit n'importe quoi ... :)
 

Code :
  1. select sum(a.total_ht) total_global_p1 , sum (b.total_ht) total_global_p2 from fa a, nc b


 
Cela devrait être mieux !
 
Note pour la suite : ne pas proposer de code quand on est mal réveillé et qu'on n'a pas de quoi tester :)

Reply

Marsh Posté le 06-10-2015 à 09:52:54    

Merci je vais tester cela des que possible :hello:

Reply

Marsh Posté le 07-10-2015 à 19:35:51    

Bon malheureusement cela ne fonctionne pas voici le reste du code au cas ou j’aurais fait une connerie plus loin
 
$requete2= "select sum(a.total_ht)  total_global_p1 , sum (b.total_ht) total_global_p2 from fa a, nc b";
$resultat2=$connexion->query($requete2);
foreach($resultat2 as $element2){
$total_global_p1= $element2["total_global_p1"];

Reply

Marsh Posté le 07-10-2015 à 21:22:22    

J'espère que je me fait bien comprendre :)  
Sinon :  
 
J'ai une table avec un champ total_ht dans la base fa
un autre table avec un champ total_ht dans la base nc
 
j'aimerais pouvoir calculer la somme des 2 total_ht en les différenciant du genre :  
total_ht dans la base fa = $variable1  
total_ht dans la base nc = variables2  
 
je n'arrive qu'a afficher les deux resultat mais sans pouvoir différencier les deux variables :(  
:( :(

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed