View Full Version : [oracle] Modificare valori di colonna
ciao dovrei modificare i valori di una colonnaA torgliendo il 20% del valori che stanno in una colonna B. la colonnaA e colonnaB hanno gli stessi valori.
La tabella la chiamiamo pippo .
ditemi se la sintassi è corretta
update table pippo
set colonnaA = (( select Colonna B
from pippo
where colonnaA=colonnaB) * 4/5 )
where colonnaA=colonnaB
Se ho capito bene il tuo problema, credo potresti semplificare con qualcosa tipo...
update pippo p1
set colonnaA = colonnaA * 4/5
where exists (select 1
from pippo p2
where p2.colonnaB = p1.colonnaA)
...spero di non aver interpretato male la domanda...
Se ho capito bene il tuo problema, credo potresti semplificare con qualcosa tipo...
update pippo p1
set colonnaA = colonnaA * 4/5
where exists (select 1
from pippo p2
where p2.colonnaB = p1.colonnaA)
...spero di non aver interpretato male la domanda...
non sono proprio sicuro che tutti i valori della colonnaA siano uguali alla colonnaB, può darsi che colonnaA contenga alcuni valori che siano come valore i 4/5 della colonnaB.
se modifico così può andare ?
update pippo p1
set colonnaA = colonnaB * 4/5
where exists (select 1
from pippo p2
where p2.colonnaB = p1.colonnaA)
Grazie mille per il tuo aiuto ;)
Non credo cambi molto, dato che abbiamo una 'where p1.colonnaA = p2.colonnaB'; ma non conosco la tua situazione, e soprattutto non ho fatto test.
Fai un pò di prove e vedi se ti tornano i risultati in un ambiente di test.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.