Domanda

Come possiamo scrivere un'istruzione sql di aggiornamento che aggiorni i record e il valore 'set' cambia ogni volta?

Ad esempio: Se abbiamo dischi come questo

SomeNumber SomeV CurCode WhatCodeShouldBe
200802754 432 B08 B09
200802754 432 B08 B09
200802754 432 B08 B09
200808388 714 64B C00
200804119 270 64B C00

Desidero aggiornare ogni record "SomeNumber" in modo che "CurCode" sia uguale a "WhatCodeShouldBe"

Grazie per l'aiuto!

È stato utile?

Soluzione

update a
set
  3rdColumn = b.2ndColumn
from
  tableA a
  inner join tableB b
  on a.linkToB = b.linkToA

Questo è basato su i tuoi nuovi commenti

Altri suggerimenti

UPDATE yourtable SET CurCode = WhatCodeShouldBe

UPDATE tableName SET CurCode = WhatCodeShouldBe 

Supponendo che il nuovo codice sia archiviato in un'altra colonna, ad esempio WhatCodeShouldBe , nell'esempio sopra, quindi l'istruzione assomiglia a:

UPDATE table SET CurCode = WhatCodeShouldBe

sostituendo i nomi delle colonne attuali. Questo in sostanza dice al DBMS, "per ogni riga, impostare la colonna del codice su qualunque sia il valore in quest'altra colonna, per ogni riga".

Ho quei dati formando alcuni temptables e raccogliendo informazioni da diverse tabelle. :( l'aggiornamento di questa tabella temporanea non sarà di aiuto ... Devo essere in grado di riportare le modifiche alla tabella originale. Proverò a dare un esempio migliore ...

Tabella A: 200802754 432 B08 200802754 432 B08 200802754 432 B08 200808388 714 64B 200804119 270 64B

Tabella B 432 B09 432 B09 432 B09 714 C00

Quindi voglio creare la terza colonna della tabella A come la seconda colonna della tabella B ... unendo le tabelle sulla colonna 2. 200804119 270 64B C00

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top