Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di wallrider
    Registrato dal
    Apr 2003
    Messaggi
    2,755

    [Mysql]Problema null in UPDATE

    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?
    RIP Cicciobenzina 9/11/2010

    "Riseminaciceli, i ceci nell'orto"

  2. #2
    Utente di HTML.it L'avatar di r1cky`
    Registrato dal
    Feb 2007
    Messaggi
    431
    Beh una soluzione veloce è inglobare il tutto in una stored procedure, con la quale puoi testate facilmente se la query incriminata ti restituisce null o meno e agire di conseguenza

  3. #3
    Utente di HTML.it L'avatar di wallrider
    Registrato dal
    Apr 2003
    Messaggi
    2,755
    ho risolto con una IFNULL

    codice:
    UPDATE master SET 
        master.tota=IFNULL((SELECT SUM(qta) FROM detail GROUP BY ... HAVING master.id=detail.idmaster AND detail.tiporiga='tota'),0),
        master.totb=IFNULL((SELECT SUM(qta) FROM detail GROUP BY ... HAVING master.id=detail.idmaster AND detail.tiporiga='totb'),0)
    RIP Cicciobenzina 9/11/2010

    "Riseminaciceli, i ceci nell'orto"

  4. #4
    Utente di HTML.it L'avatar di r1cky`
    Registrato dal
    Feb 2007
    Messaggi
    431
    Ah figata, devo ancora impararle tutte funzioncine

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.