Mise à jour avec modification de la valeur définie
-
11-07-2019 - |
Question
Comment pouvons-nous écrire une instruction SQL de mise à jour qui mette à jour des enregistrements et la valeur "set" change à chaque fois?
Par exemple: Si nous avons des disques comme celui-ci
SomeNumber SomeV CurCode WhatCodeShouldBe
200802754 432 B08 B09
200802754 432 B08 B09
200802754 432 B08 B09
200808388 714 64B C00
200804119 270 64B C00
Je souhaite mettre à jour chaque enregistrement "SomeNumber" afin que "CurCode" soit identique à "WhatCodeShouldBe"
Merci pour toute aide!
La solution
update a
set
3rdColumn = b.2ndColumn
from
tableA a
inner join tableB b
on a.linkToB = b.linkToA
Cela dépend de vos nouveaux commentaires
.Autres conseils
METTEZ À JOUR votre table SET CurCode = WhatCodeShouldBe
UPDATE tableName SET CurCode = WhatCodeShouldBe
En supposant que le nouveau code soit stocké dans une autre colonne, c'est-à-dire WhatCodeShouldBe
, dans l'exemple ci-dessus, l'instruction ressemble à ceci:
UPDATE table SET CurCode = WhatCodeShouldBe
en remplaçant les noms des colonnes. Cela indique essentiellement au SGBD, "pour chaque ligne, de définir la colonne de code sur la valeur figurant dans cette autre colonne, pour chaque ligne".
J'ai obtenu ces données en formant des tentations et en rassemblant des informations à partir de différentes tables. :( mettre à jour cette table temporaire ne sera pas une aide ... Je dois pouvoir transférer les modifications dans la table d'origine. Je vais essayer de donner un meilleur exemple ...
Tableau A: 200802754 432 B08 200802754 432 B08 200802754 432 B08 200808388 714 64B 200804119 270 64B
Tableau B 432 B09 432 B09 432 B09 714 C00
Je souhaite donc que la troisième colonne du tableau A soit identique à la deuxième colonne du tableau B ... en joignant les tableaux de la colonne 2. 200804119 270 64B C00