Nel mio db ho una tabella TAB con un campo C1 che è un float tra 0 e 5, un campo C2 che è un intero che può andare da zero a qualsiasi numero e infine un campo RISULTATO di cui devo fare ogni tanto l'update in base ai valori di C1 e C2 x ogni riga presente nella tabella.
Il valore che deve finire in RISULTATO è dato da questo calcolo: C1 x 8 x moltiplicatore (che può essere uno dei seguenti valori: 0,2 0,6 1)
ora il moltiplicatore è calcolato in base al valore di C2, ovvero
se:
C2 < 1000: moltiplicatore = 0,2
1000 < C2 < 10000 = 0,6
C2 > 10000 = 1
Sapete come potrei fare questa query?
Attualmente la mia query è:
UPDATE tab
SET `RISULTATO`=
(SELECT `C1` * 8 * moltiplicatore as newResult
FROM `tab`)
;
moltiplicatore lo trovo così......
SELECT
(CASE
WHEN C2 <= 1000 THEN 0,2
WHEN C2 > 1000 AND C2 <= 10000 THEN 0,6
WHEN C" > 10000 THEN 1
END)
AS moltiplicatore
FROM tab
le devo combinare in una sola, vi sembra giusto?
UPDATE tab
SET `RISULTATO`=
(SE

Rispondi quotando
