Addition plusieurs attributs de plsrs tables

Lenia -  
blux Messages postés 27838 Statut Modérateur -
Bonjour,


Je m'adresse à vous après avoir avoir fait de nombreuses recherches , je suis stagiaire et dois rendre mon travail dans quelques jours, je suis donc bien embétée... Merci à tous ceux qui essaierai de m'aider!!!...

Ma question:
Est-il possible d'additionner plusieurs champs (venant d'attributs différents) provenant de tables différentes? (Oui, ça fait beaucoup de différents ^^) Encore merci!!

Voilà ma requête qui ne fonctionne pas

mysql_query("update maTable
SET total_final=(SELECT (table1.champsTruc+table2.champsChouette
as result)
WHERE annee='$an'");

(table1 contient des champs dont champsTruc, table2 contient des champs dont champsChouette)

A voir également:

1 réponse

blux Messages postés 27838 Statut Modérateur 3 364
 
Salut,

aucun problème, il suffit de préciser dans le FROM les noms des tables concernées et ne pas oublier de faire une jointure entre les deux tables, sinon, on risque le produit cartésien.

Tu peux tester avec cette requête :

SELECT table1.champ1 + table2.champ2 FROM table1,table2;

qui devrait te renvoyer un nombre de lignes égal au produit du nombre de lignes de chacune des deux tables.
0
Lenia
 
Merci pour ta réponse!!

Voici ma requête complète, qui ne fonctionne pas..
J'ai ajouté le "from" et essayé de faire les jointures dans le "where" mais je dois encore être à côté...
Peux-tu m'aider stp?

mysql_query("update total_charges_orga
SET somme_total_charges_orga=(SELECT (serv_ext.somme_Serv_Ext+autre_serv.somme_Autres_Services
AS result
FROM serv_ext,autre_serv)
WHERE serv_ext.somme_Serv_Ext=autre_serv.somme_Autres_Services AND annee='$an' AND pole='$log'");
0
Lenia
 
Après réflexion j'en suis arrivée à ceci... qui ne fonctionne toujours pas. Bouahhhh snif snif !! ^^ lol
mysql_query("update total_charges_orga
SET somme_total_charges_orga=(SELECT (a.somme_Serv_Exterieur+b.somme_Autres_Services)
AS result
FROM serv_ext a, autre_serv b)
WHERE a.somme_Serv_Exterieur = b.somme_Autres_Services AND annee='$an' AND pole='$log'");
0
blux Messages postés 27838 Statut Modérateur 3 364
 
qui ne fonctionne toujours pas
Soit, mais si tu détaillais le problème, on pourrait aller plus en avant : message d'erreur, trop de résultats renvoyés, pas de résultats, coupure électrique, intervention du gign... ?
0
Lenia
 
"coupure électrique" mdr!!! J'ai pas encore appris à mon ordinateur à se révolter comme ça, c'est une idée! ^.^

He bien je n'ai aucun message d'erreur (je travaille directement sur ma page php), je vois juste que la valeur de ma base de donnée - devant donner le résultat final - reste à 0, donc n'effectue pas l'addition que je souhaiterai réaliser..

Bonne journée!
0
blux Messages postés 27838 Statut Modérateur 3 364
 
essaye déjà en mettant une valeur numérique (SET ... = 12) puis en faisant une requête simple (SET .... = (SELECT 12 FROM ...), puis en complexifiant de plus en plus jusqu'à voir où ça coince...
0