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

    Update record diversi su unica tabella

    Ciao a tutti, chiaramente ho un problema!


    mi trovo con una tabella così:

    REP | CDART | MODULO
    780 | 9500 | 63
    660 | 9500 |
    720 | 4800 | 22
    890 | 4800 |

    è solo un esempio ma calza bene.
    io ho bisogno di fare un update dove, a parità di CDART, mi scriva il MODULO dove il campo è bianco. saran ore che provo ma proprio non ne vado fuori.

    qualcuno sa dirmi che comando usare? La tabella si chiama MGARUPPH

    Il db è quello dell iSeries dell'IBM, ma credo che l'sql sia più o meno uguale per tutti i db.

    Ringrazio anticipatamente chiunque saprà darmi qualche dritta

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Non ho mica capito che vuoi fare. Forse

    update MGARUPPH set modulo = 'qualcosa' where modulo = '';

    ma non ci giurerei.

  3. #3
    Utente di HTML.it L'avatar di comas17
    Registrato dal
    Apr 2002
    Messaggi
    6,522
    O forse il campo modulo è NULL e quindi devi scrivere

    update MGARUPPH set modulo = 'qualcosa' where modulo IS NULL


    O forse vuoi assegnare ad ogni campo modulo vuoto quello del corrispondente CDART che ce l'ha "pieno" ? (quindi scrivere 63 nella seconda riga e 22 nella quarta ? )

    Dacci qualche informazione in più...

  4. #4
    si esatto. scusate se non si capiva, ma ormai lo davo per scontato nella mia testa

    devo mettere lo stesso valore del record 1 nel 2, e del 3 nel 4.

    cioè deve mettere il modulo uguale, prendendolo dal campo in cui c'è già scritto, a partià di codice articolo.

    sorry

  5. #5
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Non conosco il db su cui stai lavorando.

    Questa che ti posto è la sintassi per mysql

    codice:
    update MGARUPPH as t1
    inner join
    (select cdart,modulo
    from MGARUPPH
    where modulo <> '' and modulo is not null) as t2
    on t1.cdart = t2.cdart 
    set t1.modulo = t2.modulo
    where t1.modulo is null or t1.modulo = ''
    La logica è quella. Vedi di adattarla alla sintassi del tuo db.

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.