Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    59

    istruzioni per filtro automatico

    ciao a tutti
    ho questa istruzione

    codice:
    "SELECT DISTINCT ANNOpj FROM dbo.projects WHERE INSpj = 1 ORDER BY ANNOpj ASC"
    come faccio a filtrare dal database solo i progetti degli ultimi 2 anni senza aggiornare l'istruzione manualmente ogni anno?

    grazie

  2. #2
    quali sono gli ultimi due anni?

  3. #3

    Re: istruzioni per filtro automatico

    Originariamente inviato da M0707
    ciao a tutti
    ho questa istruzione

    codice:
    "SELECT DISTINCT ANNOpj FROM dbo.projects WHERE INSpj = 1 ORDER BY ANNOpj ASC"
    come faccio a filtrare dal database solo i progetti degli ultimi 2 anni senza aggiornare l'istruzione manualmente ogni anno?

    grazie
    ogni db ha una funzione che ritorna la data corrente ed una che estrae l'anno da una data

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    59
    ho una tabella con dei progetti inseriti per anno (dal 2003 al 2010).
    Vorrei far visualizzare sempre gli ultimi 2 anni (e non tutti i progetti), e cioè 2009 e 2010... nel caso in cui inserissi nuovi progetti nel 2011, il filtro dovrebbe automaticamente visualizzare solo 2010 e 2011, senza che cambi alcuna istruzione... come posso fare?

  5. #5
    ordina i progetti per data
    recuperane il primo

    (SELECT TOP 1 * FROM nome_tabella ORDER BY data DESC)

    controlla la data e fai una select filtrando per data compresa tra la data recuperata in precedenza e la data recuperata in precedenza - 2 anni

    (SELECT * FROM nome_tabella WHERE data<=#"&data_oggi&"# and data>=#"&data_2anni_fa&" ORDER BY data DESC)

  6. #6
    grambo, per quello che serve a mozoz sarebbe max(year) e max(year)-1, non -2

  7. #7
    ops vero altrimenti trovi gli ultimi 3 anni ^_^

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    59
    Ciao
    Ho provato a scrivere così:
    codice:
    "SELECT TOP 10 * FROM dbo.progetti WHERE INSERISCIprogetti = true ORDER BY ANNOprogetti ASC, IDprogetti ASC"
    e tutto funziona perfettamente, però filtra solo gli ultimi 10 progetti, indipendentemente dall'anno.

    Ho cambiato la riga di istruzioni in questo modo:
    codice:
    "SELECT TOP 2 ANNOprogetti FROM dbo.progetti WHERE INSERISCIprogetti = true AND ANNOprogetti<=#"&max(Year)&"# AND ANNOprogetti>=#"&max(Year)-1&"ORDER BY ANNOprogetti ASC, IDprogetti ASC"
    però non funziona...
    dove sbaglio?

  9. #9
    non puoi prendere la max(year) così, devi fare una subselect

  10. #10
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    59
    scusa... ma sto iniziando ora con i db e per me è ancora arabo... non so come comportarmi

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.