<div dir="ltr">Ciao,<div><br></div><div>Dalla documentazione: CASE è usato per valutare una serie di condizioni e restituisce un risultato per la prima condizione incontrata. Le condizioni sono valutate sequenzialmente, e se una condizione è vera, la valutazione si ferma, e il corrispondente risultato è restituito. Se nessuna delle condizioni è vera, è restituito il valore nella clausola ELSE.<br></div><div><br></div><div>prova con:</div><div><br></div><div>CASE WHEN <b>"stringa"='02' </b>THEN '200' WHEN
<b>"stringa"='01' </b>THEN '100' ELSE NULL END </div><div><br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Il giorno mer 2 mar 2022 alle ore 11:07 Franco Cazzola <<a href="mailto:franco.cazzola@idroambiente.it">franco.cazzola@idroambiente.it</a>> ha scritto:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div lang="IT" style="overflow-wrap: break-word;">
<div class="gmail-m_-2393516130523353610WordSection1">
<p class="MsoNormal">Buongiorno<u></u><u></u></p>
<p class="MsoNormal">Non riesco a capire perché non funziona la seguente sequenza di operazioni.<u></u><u></u></p>
<p class="MsoNormal">Devo aggiornare il campo unita in base ai valori del campo stringa.<u></u><u></u></p>
<p class="MsoNormal">Esempio: aggiorno il campo unita con valore 200 se il campo stringa=02<u></u><u></u></p>
<p class="MsoNormal">Uso la seguente sequenza:<u></u><u></u></p>
<p class="MsoNormal">Nella tabella attributi apro il Calcolatore di campi<u></u><u></u></p>
<p class="MsoNormal"><b>Flag</b> su Aggiorna campo esistente, scelgo il campo <b>
unita</b> e nella espressione inserisco<b>:</b><u></u><u></u></p>
<p class="MsoNormal"><b>CASE WHEN "unita" IS NULL AND "stringa"='01' THEN '100' END<u></u><u></u></b></p>
<p class="MsoNormal">e ottengo quanto sotto riportato<u></u><u></u></p>
<p class="MsoNormal"><img width="199" height="282" style="width: 2.0729in; height: 2.9375in;" id="gmail-m_-2393516130523353610Immagine_x0020_7" src="cid:17f4a1a9bba4cff311"><u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Ora se eseguo la stessa sequenza con<u></u><u></u></p>
<p class="MsoNormal"><b>CASE WHEN "unita" IS NULL AND "stringa"='02' THEN '200' END<u></u><u></u></b></p>
<p class="MsoNormal">Mi aggiorna il campo unita con 200 ma sostituisce anche i precedenti valori.
<u></u><u></u></p>
<p class="MsoNormal">Perché ?<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><img width="221" height="201" style="width: 2.302in; height: 2.0937in;" id="gmail-m_-2393516130523353610Immagine_x0020_8" src="cid:17f4a1a9bba5b16b22"><u></u><u></u></p>
<p class="MsoNormal">Ho provato a sostituire il campo NULL di unita con un valore qualsiasi e ripetere la sequenza ma non cambia<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Grazie per ogni contributo<u></u><u></u></p>
<p class="MsoNormal">Franco Cazzola<u></u><u></u></p>
</div>
</div>
_______________________________________________<br>
QGIS-it-user mailing list<br>
<a href="mailto:QGIS-it-user@lists.osgeo.org" target="_blank">QGIS-it-user@lists.osgeo.org</a><br>
<a href="https://lists.osgeo.org/mailman/listinfo/qgis-it-user" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/qgis-it-user</a><br>
</blockquote></div>