Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
785 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [SQL] Besoin d'aide pour un Update

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[SQL] Besoin d'aide pour un Update

n°1687419
thekingsky
Posté le 17-02-2008 à 10:10:04  profilanswer
 

Bonjour à tous,
 
J'ai un problème avec une requete SQL je ne sais pas comment la réaliser :
 
Mon but est de mettre à jour un champ vente d'une table T2 à partir du champ vente d'une table T1. Tout ceci en fesant correspondre les champs id de ces 2 tables.
Mais mon problème est que quand les id ne match pas et ben il me met la valeur 0 dans le champ vente alors que j'aimerais qu'il me laisse la valeur d'origine de la table T2 (-1).
 
Comment faire svp ?
 
Ma requete qui met à jours en mettant le champ vente à la bonne valeur quand il y a une correspondance entre les 2 tables et 0 quand ca ne matche pas est celle là :

Code :
  1. UPDATE T2
  2. SET T2.vente= (SELECT T1.vente
  3. FROM T1
  4. WHERE T1.vente=T2.vente)


Message édité par thekingsky le 17-02-2008 à 10:14:10
mood
Publicité
Posté le 17-02-2008 à 10:10:04  profilanswer
 

n°1687443
chapi
Downgradé
Posté le 17-02-2008 à 12:40:37  profilanswer
 

Ta requête ne veut rien dire.... tu peux recuperer un peu n'importe quoi dans t2.vente
 
Vente est ton id et ta valeur ?? Bizarre.
 
Bref
 
Update T2  
Set T2.vente = T1.vente
from T2 inner join T1 on T1.vente = T2.vente
 
 
seules les lignes qui ont T1.vente = T2.vente sont mises à jour
 
 


---------------
I drive at 88mph ! Just in case...
n°1687454
thekingsky
Posté le 17-02-2008 à 13:55:53  profilanswer
 

oups désolé ...
 
C'était ca en effet :  
 

Code :
  1. 1. UPDATE T2
  2.    2. SET T2.vente= (SELECT T1.vente
  3.    3. FROM T1
  4.    4. WHERE T1.idvente=T2.idvente)


 
donc je fais  
 
Update T2  
Set T2.vente = T1.vente
from T2 inner join T1 on T1.idvente = T2.idvente  
 
merci chapi :)

n°1688166
tinfolley
Posté le 19-02-2008 à 08:31:48  profilanswer
 

Bonjour,
 
 
Pour être propre la syntaxe c'est :

Code :
  1. Update T2 
  2. Set vente = T1.vente
  3. from T2
  4. inner join T1
  5.   on T1.idvente = T2.idvente


 
 
Pas la peine de lui dire que tu update T2.vente puisque tu lui dit déjà update T2

n°1688325
chapi
Downgradé
Posté le 19-02-2008 à 12:46:49  profilanswer
 

Tant qu'on est dans l'enculage de mouches....
 
Certes ta syntaxe est correcte, de là à dire qu'elle soit plus propre.....
 
D'ailleurs, dans la doc de sql c'est plutôt ma syntaxe qui est utilisée. Laquelle, à mon sens, favorise la lecture du code. Mais ce n'est que mon avis.


Message édité par chapi le 19-02-2008 à 13:00:50

---------------
I drive at 88mph ! Just in case...
n°1688354
casimimir
Posté le 19-02-2008 à 13:36:17  profilanswer
 

surtout pour peu qu'on utilise un éditeur avec autocomplétion ca va tout de même pas mal plus vite et ca génere moins d'erreur, alors si y fallait le virer après coup pour aucun bénef finalement  


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [SQL] Besoin d'aide pour un Update

 

Sujets relatifs
Besoin d aide sur des tables access[MySQL] Update dependant du numero de ligne (resolu)
Problème Requete SQLbesoin d'un composant equivalent à Dialer pour Mobile GSM
[Oracle SQL] problème de script SettingsPHP, SQL Server et la langue arabe
[SQL Serveur] probleme requete avec calcul (tout bete)[SqlServer] Problème d'UPDATE
Besoin d'aide pour lightbox. 
Plus de sujets relatifs à : [SQL] Besoin d'aide pour un Update


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR