Addition plusieurs attributs de plsrs tables
Lenia
-
blux Messages postés 27838 Statut Modérateur -
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)
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:
- Addition plusieurs attributs de plsrs tables
- Addition excel - Guide
- Tables des matières word - Guide
- Tables ascii - Guide
- Bash addition - Forum Programmation
- Oracle liste des tables ✓ - Forum Oracle
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.
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.
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'");
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'");
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... ?
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!