13 messaggi dal 06 dicembre 2006
Ciao a tutti,
fino ad oggi ho sempre realizzato delle query sql semplici.
Ora mi trovo con un caso più completo e quindi chiedo il vostro aiuto.

Ho una tabella con solo un campo numerico chiamato "IDN".
Ho necessità di realizzare una query SQL in grado di aggiornare tali valori in modo che vengano incrementati del valore max + 1

Mi spiego meglio con un esempio.
All'interno della tabella sono presenti i seguenti numeri:
654
655
656

il valore max è 656
Tutti i valori devono diventare
654-->657
655-->658
656-->659

E' possibile farlo con un singolo UPDATE?

Grazie in anticipo
1.024 messaggi dal 19 dicembre 2003
Contributi | Blog
Il valore massimo presente nella tabella lo estrai con l'istruzione

SELECT MAX(IDN) FROM dbo.MyTable

e puoi utilizzare questa query per eseguire l'update con l'istruzione

UPDATE dbo.MyTable
SET IDN = IDN + (SELECT MAX(IDN) FROM dbo.MyTable)

Da quello che scrivi ("incrementare i numeri in base a max+1") se aggiungessi 1 al valore massimo ottenuto avresti un buco nella numerazione cosicchè se il valore massimo attualmente presente fosse 656 il primo numero della nuova numerazione sarebbe 658 e non 657 (a meno che la numerazione attuale non parta da 0). Vedi tu se è il caso di aggiungere il +1 o meno...

Bye

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.