Problemi con modifica dati in query di aggiornamento

  • Creatore Discussione Creatore Discussione GQ68
  • Data di inizio Data di inizio

GQ68

Nuovo Utente
29 Set 2014
5
0
0
Ho una tabella di dati che mi servono per determinare un totale.

es.
campo1=id
campo2=valore
campo3=valore percentuale di maggiorazione ( alcuni hanno 2%, altri hanno 5%....ecc)
campo4=princ/sec/vari...ecc

Il prodotto totale mi dà 100

Vorrei simulare, cambiando il CAMPO3 quanto mi diventa il totale.

Ho provato con una query di aggiornamento ma mi aggiorna tutti i valori, mentre io vorrei cambiarne solo alcuni.
Ad esempio:

Se il CAMPO4 è PRINC da 2% vorrei mettere il 3%
Se il CAMPO4 è SEC da 5% vorrei mettere il 8%
...ecc

Quindi vorrei aggiornare solo una parte dei valori per determinate condizioni.

Qualcuno mi può aiutare?
 
Ciao,
se ho capito bene vorresti un risultato come questo:
da così:
Codice:
CAMPO1	CAMPO2	CAMPO3	CAMPO4
1	20	2%	PRINC
2	40	5%	SEC
3	50	2%	PRINC
4	80	5%	SEC

a così:
Codice:
CAMPO1	CAMPO2	CAMPO3	CAMPO4
1	20	3%	PRINC
2	40	8%	SEC
3	50	3%	PRINC
4	80	8%	SEC

in questo caso dovresti effettuare un update come nell'esempio sotto riportato:

UPDATE TB_PROVA SET CAMPO3=(IIF(CAMPO4='PRINC';3;IIF(CAMPO4='SEC';8;0)))

al posto dello zero devi continuare a scrivere le iif se ci sono altri valori per il campo4

Ciao
Michele


A quick solution is a shortcut to troubleshooting
HolidaySoft.it - Gestionali, Database, SitiWeb
GarganoSapori.it - Olio ExtraVergine del Gargano
OsteriaORistorante.it - Crea la Vetrina per il tuo Ristorante!
 
..si ok...
ma scusa, devo prima fare una query coi campi come sopra e poi dove applico l'update??
Nell'sql della query che ho creato?
 
ho provato a copiare la tua stringa in una query di aggiornamento sostituendo tb_prova con il nome della mia tabella
ma mi da un errore di sintassi e non la esegue...
 
scusa se intervengo, ma sono per le cose chiare e facili ...

UPDATE TB_PROVA SET CAMPO3=3 where CAMPO4='PRINC'
UPDATE TB_PROVA SET CAMPO3=8 where CAMPO4='SEC'

sono più righe ... ma più comprensibili
ciao
Marino
 

Discussioni simili