Log in

View Full Version : Problema SQL



Warbarbie
24th October 2008, 11:37
Possibile copiare un campo di una tabella su un campo(con nome diverso) sulla stessa tabella?

Tabella1

Campo1 Campo2


Travasare completamente i dati dal campo1 al campo2 in pratica

Avevo provato con

Update Tabella1 set Campo1(select campo2 from Tabella1)

Help

Jeff
24th October 2008, 11:46
Update Tabella1
set Campo1 = (select campo2 from Tabella1)
from tabella1

vado a memoria su dove mettere il "from tabella 1", ma e' circa cosi'

:)

Tunnel
24th October 2008, 11:51
devi fare un inner join


UPDATE [TAbDest]
SET [ColDest] =
FROM [TabDes] INNER JOIN
[TabOri] ON [TabDes.ColDes]= [TabOrig.ColOrig]

ovviamente per
Tab=tabella
Col=colonna
Des=destinazione
Ori=origine

Warbarbie
24th October 2008, 11:55
Update Tabella1
set Campo1 = (select campo2 from Tabella1)
from tabella1
vado a memoria su dove mettere il "from tabella 1", ma e' circa cosi'
:)

Così però la subquery va in errore perchè l'uguale nn può essere confrontato con valori non univoci.
Ho provato a sostituire l'uguale con IN ma nada.

Warbarbie
24th October 2008, 11:57
devi fare un inner join


UPDATE [TAbDest]
SET [ColDest] =
FROM [TabDes] INNER JOIN
[TabOri] ON [TabDes.ColDes]= [TabOrig.ColOrig]

ovviamente per
Tab=tabella
Col=colonna
Des=destinazione
Ori=origine

E funziona anche se tabella di destinazione e di origine sono la stessa?
Thx cmq

San Vegeta
24th October 2008, 12:02
scusa eh, ma un semplice

update nometabella
set colonnaDestinazione = colonnaSorgente

non ti piace? :)

Rise-the-Sky
24th October 2008, 12:03
Questi post mi fanno comprendere quanto sono fortunato a usare postgre.

Enjoy the "Update tabella SET campo1 = campo2;" experience :D

Rise-the-Sky
24th October 2008, 12:04
scusa eh, ma un semplice

update nometabella
set colonnaDestinazione = colonnaSorgente

non ti piace? :)

Suppongo che non sia SQL standard per cui non tutti i DB lo accettino . (suppongo :look:)

Tunnel
24th October 2008, 12:04
Questi post mi fanno comprendere quanto sono fortunato a usare postgre.
Enjoy the "Update tabella SET campo1 = campo2;" experience :D
no ma chiaro, è così. però avevo capito per 2 tabelle diverse. ahahah :D
avevo letto velocemente e non reputavo possibile fosse un problema di update sulla stessa colonna, quindi son andato tranquillo con lo step 2 :sneer:

Warbarbie
24th October 2008, 12:08
Pd.
Buttato 1 ora del mio preziosissimo tempo

Ladro di anime
24th October 2008, 15:56
Povero sql, deturpato cosi :cry:

San Vegeta
24th October 2008, 17:45
Suppongo che non sia SQL standard per cui non tutti i DB lo accettino . (suppongo :look:)

no, è sql standard, pulito pulito

l'update funziona a livello di "isolamento riga" quindi quando parli di colonne si intende il valore della colonna per la riga correntemente valutata

nella fattispecie, set colonna1 = colonna2 significa che prende il valore della colonna2 e lo mette nella colonna1, in quella precisa riga... per ogni riga in esame, ovviamente