Addition plusieurs attributs de plsrs tables
Lenia
-
blux Messages postés 2060 Date d'inscription Statut Modérateur Dernière intervention -
blux Messages postés 2060 Date d'inscription Statut Modérateur Dernière intervention -
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)
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)
1 réponse
-
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.
-
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'"); -
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'"); -
-
"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! -
-