update con group by

  • Creatore Discussione Creatore Discussione yag
  • Data di inizio Data di inizio

yag

Nuovo Utente
11 Nov 2009
3
0
0
salve
ho una tabella documenti con un campo "contatore" proprio così si chiama
quello che dovrei fare è aggiornare ogni record con un numero incrementale diviso per anno (ho anche un campo data) esempio

nome|data|contatore|
documento,2008,10
documento,2008,11
documento,2008,12
documento,2009,10
documento,2009,11
documento,2009,12

come potrei fare per aggiornare questo campo dei record già presenti e di quelli che devono essere creati successivamente...
 
salve
ho una tabella documenti con un campo "contatore" proprio così si chiama
quello che dovrei fare è aggiornare ogni record con un numero incrementale diviso per anno (ho anche un campo data) esempio

nome|data|contatore|
documento,2008,10
documento,2008,11
documento,2008,12
documento,2009,10
documento,2009,11
documento,2009,12

come potrei fare per aggiornare questo campo dei record già presenti e di quelli che devono essere creati successivamente...

nessuna idea ?
 
salve
ho una tabella documenti con un campo "contatore" proprio così si chiama
quello che dovrei fare è aggiornare ogni record con un numero incrementale diviso per anno (ho anche un campo data) esempio

nome|data|contatore|
documento,2008,10
documento,2008,11
documento,2008,12
documento,2009,10
documento,2009,11
documento,2009,12

come potrei fare per aggiornare questo campo dei record già presenti e di quelli che devono essere creati successivamente...

Una soluzione potrebbe essere quella di mettere i campi data e contatore come chiavi della tabella e porre auto_increment su contatore, questo funziona se come data usi solo l'anno, altrimenti ripartirà da zero ogni volta che cambi giorno o mese.
Se non le vuoi come chiavi prova, sempre con la stessa soluzione, a mettere il vincolo unique.
Se vuoi che il contatore ti riparta anche ogni volta che cambi nome al documento, allora dovrai mettere anche il campo nome ai vincoli di chiave o unique.

Ciao
 
Una soluzione potrebbe essere quella di mettere i campi data e contatore come chiavi della tabella e porre auto_increment su contatore, questo funziona se come data usi solo l'anno, altrimenti ripartirà da zero ogni volta che cambi giorno o mese.
Se non le vuoi come chiavi prova, sempre con la stessa soluzione, a mettere il vincolo unique.
Se vuoi che il contatore ti riparta anche ogni volta che cambi nome al documento, allora dovrai mettere anche il campo nome ai vincoli di chiave o unique.

Ciao

questo in fase di creazione, ma per i documenti già creati
 
ciao, scusate se mi intrometto, ma forse non ho capito bene quello che vuoi fare
tu hai la tabella

nome|data|contatore|
documento,2008,10
documento,2008,11
documento,2008,12
documento,2009,10
documento,2009,11
documento,2009,12

e sin qui ok (o quasi)

1. a questo punto inserisci un nuovo record relativo al 2008 tu vorresti che la tabella diventasse?

nome|data|contatore|
documento,2008,10
documento,2008,11
documento,2008,12
documento,2008,13 <---questo è quello che hai inserito
documento,2009,10
documento,2009,11
documento,2009,12

2. in seguito vuoi eliminare un record es. il documento 2008 11
per cui la tabella deve tornare a

nome|data|contatore|
documento,2008,10
documento,2008,11 <-----questo era il 12
documento,2008,12 <-----questo era il 13
documento,2009,10
documento,2009,11
documento,2009,12

cioè il contatore si riaggiorna tutto (in questo caso per il 2008) senza toccare quelli del 2009?

è così?
poi inoltre
i contatore deve sempre ripartire da 1 (per ciascun anno) o da 10 o da un numero a caso comunque ordinato?

e ancora (così almeno sembra)
in questo caso il primo documento del 2008 ha il 10
il primo documento del 2009 deve avere anche lui il 10? e così quello del 2010?....
 

Discussioni simili