Menu

Additionner 2 champs de 2 tables [Résolu]

Messages postés
5
Date d'inscription
samedi 3 septembre 2016
Statut
Membre
Dernière intervention
17 avril 2019
- - Dernière réponse : Adiren
Messages postés
5
Date d'inscription
samedi 3 septembre 2016
Statut
Membre
Dernière intervention
17 avril 2019
- 17 avril 2019 à 09:28
Bonjour, j'ai un problème, j'ai 2 tables différentes, l'une avec une colonne contenant des points de fidélité et l'autre avec une colonne contenant d'autres points et je voudrais le additionner et les stocker dans la première table à la place des premiers. Et je ne peux pas modifier la structure des tables. Bien évidemment, je veux faire ça dans tous les tuples et les 2 tables se relié par une key.

Pouvez-vous m'aider ?


Configuration: Windows / Chrome 73.0.3683.103
Afficher la suite 

Votre réponse

2 réponses

Messages postés
24924
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
18 avril 2019
9066
0
Merci
Bonjour,

Avec Oracle je ferais :

update tabl1 set cpt1 = cpt1 + (select cpt2 from tabl2 where id1=id2);

Ce devrait être voisin avec sqlserver

Cdlt
jee pee
Messages postés
24924
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
18 avril 2019
9066 > Adiren
Messages postés
5
Date d'inscription
samedi 3 septembre 2016
Statut
Membre
Dernière intervention
17 avril 2019
-
tu as bien sur remplacé les noms de ma requete qui étaient tous des exemples ?

affiche ici ta requete et le message d'erreur exact
Adiren
Messages postés
5
Date d'inscription
samedi 3 septembre 2016
Statut
Membre
Dernière intervention
17 avril 2019
-
update client
set client.fidelite = Client.fidelite + (select fidelite_acquise from calcul_client
                                                        where client.code = calcul_client.code_client)
where client.code in (select code_client from calcul_client where nb_passage >=3)

jee pee
Messages postés
24924
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
18 avril 2019
9066 > Adiren
Messages postés
5
Date d'inscription
samedi 3 septembre 2016
Statut
Membre
Dernière intervention
17 avril 2019
-
J'aurais un doute sur 2 sous select sur la même table dans une commande, après je n'ai jamais fait de sql avec SqlServer

et ?

update client
set client.fidelite = Client.fidelite + (select fidelite_acquise from calcul_client
   where client.code = calcul_client.code_client 
   and nb_passage >=3) 
Reivax962
Messages postés
3355
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
18 avril 2019
1177 -
Bonjour,

Sous SQL Server ce serait plutôt quelque chose comme ceci :
UPDATE c
SET fidelite = c.fidelite + cc.fidelite_acquise
FROM client c
INNER JOIN calcul_client cc ON cc.code_client = c.code
WHERE cc.nb_passage >= 3


Xavier
jee pee
Messages postés
24924
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
18 avril 2019
9066 > Reivax962
Messages postés
3355
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
18 avril 2019
-
merci, je suis de l'ancienne école et au départ sur oracle le JOIN n'existait pas ;-)
Commenter la réponse de jee pee
Messages postés
5
Date d'inscription
samedi 3 septembre 2016
Statut
Membre
Dernière intervention
17 avril 2019
0
Merci
Merci les gars, ma requête fonctionne !!
Commenter la réponse de Adiren