Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [MySql] campo con valore predefinito

    Salve,

    ho un problema che non so come risolvere.

    Ho una tabella ordini dettaglio in cui devo inserire la specifica di un ordine di capi di abbigliamento. Devo poi poter sommare il totale dei capi ordinati, non solo taglia per taglia, ma anche il totale complessivo.

    Purtroppo, quando MySql incontra il campo vuoto, non valorizzato, non mi fa la somma. Ho cercato di configurare il campo con il valore predefinito a 0, ma non lo inserisce.

    Inoltre, non posso valorizzare i campi del modulo con lo 0 preefinito, in quanto le taglie cambiano in base ai capi di abbigliamento e non posso mettere nel modulo taglie non attinenti al capo stesso.

    Come risolvere? Come fare in modo che, in caso di campo vuoto perchè non presente nel form di inserimento, comunque il campo della tabella sia valorizzato a 0?

    Spero di essere stato chiaro.
    Grazie e buona giornata a tutti
    BigDaniel

  2. #2
    Nessuno sa darmi una indicazione, please?
    BigDaniel

  3. #3
    Allora non sono il solo a non sapere come fare. nessuno pensa di potremi dare qualche indicazione?
    BigDaniel

  4. #4
    Ciao,
    hai provato ad utilizzare il comando IFNULL? Lo puoi utilizzare sia in fase di insert per evitare di avere un campo non valorizzato e sia quando esegui delle join o sum

    Facci sapere
    Ciao
    Mik

  5. #5
    Grazie per la risposta.

    Non ho mai utilizzato IFNULL in MySql, per cui mi trovo un po' in difficoltà, sia per la select che per l'INSERT. Ho fatto delle prove, ma mi segnala il solito errore che non dice nulla di specifico.

    Ho cercato anche in Google, ma non ho trovato nessun esempio esaustivo.

    Ho questa select:
    codice:
    SELECT IDdettaglioct, ordettaglioID, colore, t6, t8, t10, t12, t14, t16, t36, t37, t38, t39, t40, t41, t42, t43, t44, t45, t46, t47, t48, t49, t50, t51, t52, t54, t56, t58, t60, t62, t64, t66, t68, subquant, subprice FROM carema.dettaglioct  order by IDdettaglioct desc Limit 0, 1
    e i campi che devo controllare sono quelli che vanno dal t6 al t68. Come devo fare?

    Oppure, in fase di INSERT:

    codice:
    colore|',none,''|t6|none,none,NULL|t8|none,none,NULL|t10|none,none,NULL|t12|none,none,NULL|t14|none,none,NULL|t16|none,none,NULL|t36|none,none,NULL|t37|none,none,NULL|t38|none,none,NULL|t39|none,none,NULL|t40|none,none,NULL|t41|none,none,NULL|t42|none,none,NULL|t43|none,none,NULL|t44|none,none,NULL|t45|none,none,NULL|t46|none,none,NULL|t47|none,none,NULL|t48|none,none,NULL|t49|none,none,NULL|t50|none,none,NULL|t51|none,none,NULL|t52|none,none,NULL|t54|none,none,NULL|t56|none,none,NULL|t58|none,none,NULL|t60|none,none,NULL|t62|none,none,NULL|t64|none,none,NULL|t66|none,none,NULL|t68|none,none,NULL|ordettaglioID|none,none,NULL
    sempre i soliti campi che vanno dal t6 al t68. Anche in questo caso come devo fare?

    grazie in anticipo.

    Buonagiornata a tutti
    BigDaniel

  6. #6
    Sembra che sia riuscito a risolvere in questo modo:

    codice:
    SELECT IDdettaglioct, ordettaglioID, colore, IFNULL(NULL,0)t6 , IFNULL(NULL,0)t8, IFNULL(NULL,0)t10, IFNULL(NULL,0)t12, IFNULL(NULL,0)t14, IFNULL(NULL,0)t16, IFNULL(NULL,0)t36, IFNULL(NULL,0)t37, IFNULL(NULL,0)t38, IFNULL(NULL,0)t39, IFNULL(NULL,0)t40, IFNULL(NULL,0)t41, IFNULL(NULL,0)t42, IFNULL(NULL,0)t43, IFNULL(NULL,0)t44, IFNULL(NULL,0)t45, IFNULL(NULL,0)t46, IFNULL(NULL,0)t47, IFNULL(NULL,0)t48, IFNULL(NULL,0)t49, IFNULL(NULL,0)t50, IFNULL(NULL,0)t51, IFNULL(NULL,0)t52, IFNULL(NULL,0)t54, IFNULL(NULL,0)t56, IFNULL(NULL,0)t58, IFNULL(NULL,0)t60, IFNULL(NULL,0)t62, IFNULL(NULL,0)t64, IFNULL(NULL,0)t66, IFNULL(NULL,0)t68, subquant, subprice FROM carema.dettaglioct  order by IDdettaglioct desc Limit 0, 1
    tuttavia se li sommo, mi dice Tipo non corrispondente

    A questo punto vorrei fare la somma direttamente nella query tipo SELECT ( IFNULL(NULL,0)t10 + IFNULL(NULL,0)t12 ) AS tot FROM, ma poi vorrei anche conservare il TOT in un campo. Innanzi tutto non so se funziona, ma poi, come organizzare una SUB, anche questa cosa mai fatta in precedena?

    Sempre grazie
    BigDaniel

  7. #7
    Prova così, c'è sia i campi con ifnull che la somma:

    SELECT
    IDdettaglioct, ordettaglioID, colore,
    IFNULL(t6,0) t6, IFNULL( t8,0) t8, IFNULL( t10,0) t10, IFNULL( t12,0) t12, IFNULL( t14,0) t14, IFNULL( t16,0) t16, IFNULL( t36,0) t36, IFNULL( t37,0) t37, IFNULL( t38,0) t38, IFNULL( t39,0) t39, IFNULL( t40,0) t40, IFNULL( t41,0) t41, IFNULL( t42,0) t42, IFNULL( t43,0) t43, IFNULL( t44,0) t44, IFNULL( t45,0) t45, IFNULL( t46,0) t46, IFNULL( t47,0) t47, IFNULL( t48,0) t48, IFNULL( t49,0) t49, IFNULL( t50,0) t50, IFNULL( t51,0) t51, IFNULL( t52,0) t52, IFNULL( t54,0) t54, IFNULL( t56,0) t56, IFNULL( t58,0) t58, IFNULL( t60,0) t60, IFNULL( t62,0) t62, IFNULL( t64,0) t64, IFNULL( t66,0) t66, IFNULL( t68,0) t68,
    IFNULL(t6,0) + IFNULL( t8,0) + IFNULL( t10,0) + IFNULL( t12,0) + IFNULL( t14,0) + IFNULL( t16,0) + IFNULL( t36,0) + IFNULL( t37,0) + IFNULL( t38,0) + IFNULL( t39,0) + IFNULL( t40,0) + IFNULL( t41,0) + IFNULL( t42,0) + IFNULL( t43,0) + IFNULL( t44,0) + IFNULL( t45,0) + IFNULL( t46,0) + IFNULL( t47,0) + IFNULL( t48,0) + IFNULL( t49,0) + IFNULL( t50,0) + IFNULL( t51,0) + IFNULL( t52,0) + IFNULL( t54,0) + IFNULL( t56,0) + IFNULL( t58,0) + IFNULL( t60,0) + IFNULL( t62,0) + IFNULL( t64,0) + IFNULL( t66,0) + IFNULL( t68,0) AS SOMMA_TOT,
    subquant, subprice
    FROM carema.dettaglioct order by IDdettaglioct desc Limit 0, 1

    Ciao
    Mik

  8. #8
    Perfetto

    Grazie mille

    BigDaniel

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 © 2026 vBulletin Solutions, Inc. All rights reserved.