Update plusieurs enregistrements [Résolu]

Messages postés
103
Date d'inscription
mercredi 31 octobre 2007
Dernière intervention
10 juin 2018
- - Dernière réponse : cs_mohellebi
Messages postés
103
Date d'inscription
mercredi 31 octobre 2007
Dernière intervention
10 juin 2018
- 2 févr. 2014 à 22:28
Bonsoir, tout le monde
Voilà quelques heures que j'essaye de trouver la solution à une requête sql sous sql server 2008 qui consiste à mettre à jour ou bien à modifier plusieurs enregistrement à la fois avec la close where....
voila un exemple de la structure de mes deux tables et l explication dessous


 NOM      BILLET   statut   |   BILLET_num   réglé   
--------------------------- |----------------------- 
dupont    23048514   1      |     23048514    200,00 
dubois    23049012   0      |     23049765    400,00 
martin    23059573   0      |     23067430    520,00 


chose evidente la relation entre les deux tables est billet=>num_billet
maintenant je voudrai changer le statut à "1" de toute la table à condition que le numéro de billet existe dans les deux tables

Merci d'avance pour votre aide qui me permettra d'avancer
Afficher la suite 

Votre réponse

2 réponses

Messages postés
23610
Date d'inscription
mercredi 22 octobre 2003
Statut
Contributeur
Dernière intervention
14 décembre 2018
0
Merci
Bonjour,

Un truc du genre :

UPDATE Table1 T1 SET T1.statut=1
WHERE T1.BILLET in (Select T2.BILLET_num From Table2 T2) 
 
Commenter la réponse de jordane45
Messages postés
103
Date d'inscription
mercredi 31 octobre 2007
Dernière intervention
10 juin 2018
0
Merci
en fait j ai essayé avec cette requête qui me semble correcte d'un point de vu logique , mais elle me renvoie l'erreur suivante
voila la requête :
UPDATE table1
SET statut  = 1
WHERE billet= (SELECT billet_num FROM table2 )




et voila l'erreur :
Msg 512, Level 16, State 1, Line 1
Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.
The statement has been terminated.
merci encore une fois pour les personnes qui pourrons me sortir de cette galère
cs_mohellebi
Messages postés
103
Date d'inscription
mercredi 31 octobre 2007
Dernière intervention
10 juin 2018
-
haaa oui il fallait mettre le in , merci beaucoup jordane45 , mais là j'ai encore un petit souci
une nouvelle colonne vient d'être ajouté au deux tables 'dateT1' et 'dateT2' , en revanche dateT1 de la première table ne contient aucune donné, du coup je devrai la remplir avec dateT2 au moment de la mis à jour du statut, c a dire au final je devrai avoir le statut 1 et leurs dates, toujours avec la condition EXISTS
Merci d'avance jordane
jordane45
Messages postés
23610
Date d'inscription
mercredi 22 octobre 2003
Statut
Contributeur
Dernière intervention
14 décembre 2018
-
Bonjour,

Ceci est une nouvelle question.... donc, commme le veut la charte du site. il te faut ouvrir une nouvelle discussion.

Pense à mettre celle ci en résolu par contre.
Merci.
cs_mohellebi
Messages postés
103
Date d'inscription
mercredi 31 octobre 2007
Dernière intervention
10 juin 2018
-
comme c'était une suite j'avais pensé que je pourrai la poser ici, si non ok je vais ouvrir une nouvelle discussion
Merci jordane pour ton aide
jordane45
Messages postés
23610
Date d'inscription
mercredi 22 octobre 2003
Statut
Contributeur
Dernière intervention
14 décembre 2018
-
Tout est toujours une suite de quelque chose.... imagine la taille des discussions si tout le monde pose ses différentes questions à la suite d'une seule conversation...
Ca deviendrait rapidement impossible de s'y retrouver. ^^

Enfin bon, histoire que tu puisses avancer rapidement je vais faire une petite exception.
Je pense que quelque chose du genre devrait marcher :

UPDATE Table1 
  SET T1.statut=1
         ,T1.date1=T2.date2
FROM  table1 T1
INNER JOIN table2 T2 
  ON T1.BILLET=T2.BILLET_num 

cs_mohellebi
Messages postés
103
Date d'inscription
mercredi 31 octobre 2007
Dernière intervention
10 juin 2018
-
Bonsoir, jordane

merci infiniment de l'exception qui a permis de résoudre mon problème définitivement
Commenter la réponse de cs_mohellebi

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.