in una classica situazione master/detail, devo aggiornare un campo della tabella master con la somma di un campo della tabella detail (lo so che non è bello, ma ho ereditato il DB così)
faccio perciò una query del genere
codice:
UPDATE master SET master.tota=(SELECT SUM(qta) FROM detail GROUP BY ... HAVING master.id=detail.idmaster AND detail.tiporiga='tota'),master.totb=(SELECT SUM(qta) FROM detail GROUP BY ... HAVING master.id=detail.idmaster AND detail.tiporiga='totb')
il problema è che, nonostante il default di tot sia 0, se per esempio non ho righe di tipo 'totb' nel master.totb mi trovo NULL , che mi manda in tilt il software
ho provato a modificare la query in
codice:
UPDATE master SET master.tota=0+(SELECT SUM(qta) FROM detail GROUP BY ... HAVING master.id=detail.idmaster AND detail.tiporiga='tota'),master.totb=0+(SELECT SUM(qta) FROM detail GROUP BY ... HAVING master.id=detail.idmaster AND detail.tiporiga='totb')
ma non sembra funzionare
suggerimenti?