cs_mohellebi
Messages postés98Date d'inscriptionmercredi 31 octobre 2007StatutMembreDernière intervention 1 août 2019
-
1 févr. 2014 à 21:20
cs_mohellebi
Messages postés98Date d'inscriptionmercredi 31 octobre 2007StatutMembreDernière intervention 1 août 2019
-
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
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
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
jordane45
Messages postés38136Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention16 avril 2024344 1 févr. 2014 à 23:26
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és38136Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention16 avril 2024344 2 févr. 2014 à 12:15
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és98Date d'inscriptionmercredi 31 octobre 2007StatutMembreDernière intervention 1 août 20193 2 févr. 2014 à 22:28
Bonsoir, jordane
merci infiniment de l'exception qui a permis de résoudre mon problème définitivement