
Originariamente inviata da
nman
Facci sapere
Ciao e grazie per il suggerimento che... al momento non sono ancora riuscito a far funzionare,
confido ancora nella vs. pazienza per mettere a punto gli ultimi dettagli.
Per le prove ho rimosso settore e reparto (al momento non servono), ho modificato IIF in IF e rimosso le parentese [ e ] perchè segnalati come errori di sintassi (validi probabilmente per Access).
codice:
SELECT
T1.codice,
T1.data,
(
SELECT
T2.data
FROM
Tabella AS T2
WHERE
T2.codice =
(
SELECT
Min(T3.codice)
FROM Tabella AS T3
WHERE
T3.codice > T1.codice
)
) AS DataConPrimoCodiceMaggiore,
IF(data>DataConPrimoCodiceMaggiore,"xx","") AS RecordModificati
FROM Tabella AS T1
Nonostante questo segnala ancora
Unknown column 'DataConPrimoCodiceMaggiore' in 'field list'
sembra non accetti nella IF il campo alias appena dichiarato.
Completo con alcune informazioni, non dettagliate in precedenza, che hanno giustamente sollevato dubbi del tipo
Ci sono dei problemi a livello di logica...
Vedo che le date possono essere duplicate e non hanno la parte oraria
di questi record posso averne da 70 a 120 giornalieri, la data rappresenta l'inizio ciclo del modulo che ha durata 10 giorni, i moduli vengono eliminati automaticamente quando
data odierna - data modulo > 10
quindi posso ritrovarmi i moduli degli ultimi 10 giorni in numero variabile da 700 a 1200 circa.
Successivamente è stata data la possibilità a chi ne facesse richiesta, alcuni giorni prima della scadenza, di estendere la persistenza del modulo di altri 10 giorni (bonus).
La sostituzione della data del primo inserimento (che non interessa) con la data della richiesta (che può essere fatta più volte) non altera il meccanismo di durata del 10 giorni del modulo.
Nel pomeriggio modifichi il record con codice 0005
Non può succedere, la richiesta può essere fatta alcuni giorni prima della data di scadenza
A questo punto mi ritrovo con i nuovi moduli degli ultimi 10 giorni in numero variabile da 700 a 1200 circa, più tutti i precedenti che hanno utilizzato il Bonus (una o più volte).
Ultima necessità è l'aggiornamento di alcune condizioni dei settori/reparti, variazioni valide solo per le prime iscrizioni, scopo della query è scoprire se esistono o meno richieste di bonus.
Al momento una query come quella suggerita risolverebbe il problema.
Non ci sono risultati -> aggiorniamo
Ci sono risultati > 30 -> rimandiamo gli aggiornamenti
Ci sono risultati <= 30 -> valutiamo
Gli esempi allegati servono a far capire il meccanismo:
in data 23/05/15 i moduli del 01/05/15 erano già stati cancellati a patto che non avessero richiesto il bonus (nel qual caso avrebbero riportata altra data) .
E' chiaro che conoscendo a priori gli sviluppi (bonus e variazioni delle caratteristiche settori/reparti) qualcosa di diverso, da parte ns., si sarebbe potuto fare.