|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Bannato
Iscritto dal: Nov 2000
Città: mi
Messaggi: 18790
|
PROBLEMA in SQL! Help
Dunque ho un problema urgente è stò diventando scemo! Ho una tabella che contiene: codice, data , prezzo.
X un problema ho scoperto che mancano dei prezzi. Siccome i prezzi dello stesso codice sono quasi sempre uguali, volevo aggiornare la tabella mettendo, dove trovava il prezzo a 0, il prezzo più vicino dello stesso codice. es: Cod - data - prezzo 13 - 01/01/01 - 5000 13 - 02/01/01 - 13 - 04/01/01 - 13 - 05/02/01 - 5000 14 - 03/01/01 - 8500 14 .......... ............. dovrei riempire i due codici 13 con prezzo null mettendo il prezzo 5000 in questo caso. In sql riesco tramite select o a visualizzare quelli senza prezzo o quelli con prezzo, ma come faccio a mettere tutto insieme x fare un update giusto ?? Help, altrimenti devo mettirli a mano, e sono circa 340!!! |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Apr 2001
Città: Lyon
Messaggi: 112
|
Che database è ? SQL server, un'altro ?
__________________
Be Glopil !!! Grand Fainéant !FANCAZZISTA MAXIMUS - Gran Modificatore della Sacra Santa Quinta Regola - Moderatore Voci Nel Web |
![]() |
![]() |
![]() |
#3 |
Bannato
Iscritto dal: Nov 2000
Città: mi
Messaggi: 18790
|
Il database è Oracle.
|
![]() |
![]() |
![]() |
#4 |
Bannato
Iscritto dal: Nov 2000
Città: mi
Messaggi: 18790
|
Altrimenti potrei una soluzione parziale che mi consente nel frattempo di aggiornafe un pò di prezzi: prendo i prezzi da un'altra tabella, solo che come faccio a fare l'update ??
TAB1 ho il campo codice, prezzo TAB2 ho il campo cod2,prezz2 io devo aggiornare il prezzo della tab1 con quello della tab2 con lo stesso codice: update TAB1 set prezzo=prezz2 where codice=cod2 and prezzo is null; solo che così non funziona xchè non sà a quale tabella appartiene cod2. Potrebbe funzionare così: update TAB1 set prezzo = (select prezz2 from TAB1,TAB2 where codice=cod2) where prezzo is null; Grazie. |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
E nel secondo modo funziona ?
Il prezzo è un intero ? Lo spero...altrimenti se è un testo non è detto che is null funzioni...perchè potrebbe essere una stringa vuota invece di un valore null... |
![]() |
![]() |
![]() |
#6 |
Bannato
Iscritto dal: Nov 2000
Città: mi
Messaggi: 18790
|
Il prezzo è un number, ed il secondo modo sembra abbia funzionato, ma così:
update TAB1 set prezzo= ( select prez2 from TAB2 where cod2=codice) where prezzo is null In questo modo + di metà me gli ha aggiornati, i rimanenti ho finito adesso di aggiornarli a mano ![]() |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:10.