Buongiorno a tutti,
ho una tabella APPUNTAMENTI e APPUNTAMENTI_CAT, i campi per l'ordinamento dei recordo sono nella tabella APPUNTAMENTI e sono DEL (giorno inizio evento),FINE(giorno fine online post), INIZIO (giorno inizio online post).
Ho scritto questa query:
SELECT * FROM (appuntamenti AS a INNER JOIN appuntamenti_cat AS ac ON a.id_appuntamenti_cat=ac.id_appuntamenti_cat) WHERE a.online=1 AND a.inizio <= DATEADD (day, -1,GETDATE()) ORDER BY a.del DESC, a.fine DESC, a.inizio DESC, a.ora_inizio ASC
il DB è SQLserver, la uso anche in ACCESS con le opportune modifiche.
i record vengono visualizzati come in foto, ma a me servirebbe un ordinamento più selettivo:
demo_appuntamenti.jpg
Quello che mi servirebbe è fare vedere per primi gli appuntamenti in corso, poi quelli futuri in ordine crescente, quindi prima quello a cui mancano 63 giorni e poi quello di 161 e poi tutti quelli scaduti dal più recente a quello più vecchio.
Potrei realizzare 2 query distinte dove la prima fa vedere quelli in corso e quelli futuri e la seconda quelli passati, ma perderei la possibilità di creare una paginazione dei record (pagine asp).
Vorrei poter fare la stessa cosa con un'unica query.
Spero mi possiate aiutare.

Rispondi quotando