Mi ritrovo oggi in un bel pasticcio...
sto cercando di ottimizzare 1 query complessa che prevededi filtrare dati da 4 tabelle e che tramite una somma e una epressione calcola il valore attuale di un dato base.
il problema è che il raggruppamento di valori non presenti in una tabella assegna un valore null anzichè assegnare un valore "0".
Se in mia_tab.magazzino non è presente un valore collegato a mia_tab1.id al campo [Sum(mia_tab2.tot) AS SommaDitot] viene assegnato un valore "null".
Rendendo impossibile la risoluzione dell'espressione:
[magazzino-SommaDitot] che a sua volta avrà un valore "null".
Io vorrei invece che il valore di [Sum(mia_tab2.tot) AS SommaDitot]se non riscontra nessun record non sia null, ma acquisca un valore 0 in modo da essere calcolato ed ottenere un valore numerico.
ecco la query:
SELECT mia_tab1.id, mia_tab1.magazzino, Sum(mia_tab2.tot) AS SommaDitot, magazzino-SommaDitot AS Disponibili
FROM mia_tab2 RIGHT JOIN ((mia_tab1 INNER JOIN mia_tab3 ON mia_tab1.codice = mia_tab3.codice) INNER JOIN mia_tab4 ON (mia_tab1.id_2 = mia_tab4.id_2) AND (mia_tab3.codice = mia_tab4.codice)) ON mia_tab2.id = mia_tab.id
GROUP BY mia_tab.id, mia_tab.magazzino;

Rispondi quotando