ho una tabella con due campi id,codice_fiscale e data.
puo accadere che esistano piu campi con lo stesso codice_fiscale ma con data diversa..
il problema è
come faccio ad eliminare i record duplicati lasciando quello con la data piu recente ?
ho una tabella con due campi id,codice_fiscale e data.
puo accadere che esistano piu campi con lo stesso codice_fiscale ma con data diversa..
il problema è
come faccio ad eliminare i record duplicati lasciando quello con la data piu recente ?
selezioni tutte le stringe con cf uguale, li confronti con la data ed elimini quella minore.
Per il vostro piacere di navigare
nuovemodelle.com
Quando cominceranno a capirmi mi avranno già programmato...
o con ID > se non esiste la possibilità ke la data venga modificata
è possibile fare tutto da query ?
io ho provato questa
DELETE *
FROM tbTrattamentiDati AS a
WHERE id in (SELECT MAX(id) FROM tbtrattamentidati WHERE codice_fiscale=a.codice_fiscale)
pero in questo modo mi tiene l'ultimo codice inserito...se invece volessi far riferimento alla data ?
... WHERE CODICE=variabile AND DATA < MAX(DATA)...
that easy!![]()
e se la data non fosse un campo data ma testo con dentro una data ?
non puoi confrontare un campo data se non è di quel tipo.
Per il vostro piacere di navigare
nuovemodelle.com
Quando cominceranno a capirmi mi avranno già programmato...
dipende come hai scritto la data. se usi AAAAMMGG la max() funzia.
Ma non puoi evitare il problema a monte? Cioè se è doppio nn lo fai scrivere e aggiorni solo la data?
magari è un log....