Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    select DISTINCT solo anno

    Ciao a tutti,

    vorrei recuperare solo l'anno di una serie di date presenti in una tabella di un DB access.

    Vorrei utilizzare un comando tipo:
    codice:
    sql = "select DISTINCT year(immatricolazione) from auto"
    ... ma non riesco a recuperare niente...

    qualcuno sa come fare?

    Grazie

  2. #2
    ma
    codice:
    select year(immatricolazione) from auto where year(immatricolazione)=" & anno_scelto
    immagino che non sia la tua pensata? o si?

  3. #3
    Grazie per la risposta.

    Mi sono spiegato male, io ho un elenco di circa 1000 date in cui molte date hanno l'anno in comune. Io non devo estrapolare tutti gli anni in base ad un anno scelto (come mi hai proposto tu), ma devo recuperare tutti gli anni delle date (possibilmente riportati una sola volta (ecco perchè Distinct)) presenti nella tabella e riportarli in una <select></select>.

    Si può fare?

  4. #4
    l'istruzione che serve a te penso che sia:

    codice:
    "SELECT DISTINCT column_name FROM table_name where column_name=" & valore
    se vai qui SITO troverai esempi di tutti i tipi di SELECT che esistono compreso quella che fa per te con tanto di esempio.



    Spero di esserti stato utile
    ..: Serie A :..
    ..: FORZA PALERMOOOOoooo.....

  5. #5
    se vai qui SITO troverai esempi di tutti i tipi di SELECT che esistono compreso quella che fa per te con tanto di esempio.
    mmmmm... purtroppo non credo che ci sia qualcosa che faccia al caso mio.
    Una precisazione che ho dimenticato di fare all'inizio:
    le date nel DB sono nel formato gg/mm/aaaa.
    Io avrei la necessità di visualizzare solo (aaaa) di tutte le date. in una <select>

    se nella tabella immatricolazioni ho:

    Es. 10/12/1978
    06/03/1978
    08/11/2002
    27/01/2002
    15/09/2003
    la <select> dovrà contenere :
    1978
    2002
    2003

    Grazie comunque per il tentativo Mr. Fabio

  6. #6
    Non so se è giusto ma potresti provare inanzitutto a tirarti fuori tutte le date con la select che ti dicevo:
    esempio

    12/05/1978
    05/10/1981
    01/01/1986
    12/12/1990

    e poi con la debita funzione fare in modo di salvare solo la fine del dato eliminando quello che non ti serve...cioè tieni solo l'anno.

    1978
    1981
    1986
    1990


    Io non sono un genio ma cerco di trovare una soluzione ai problemi che mi si pongono davanti;
    Magari non ci riesco, ma prima o poi qualcosa la imparo
    ..: Serie A :..
    ..: FORZA PALERMOOOOoooo.....

  7. #7
    prova a fare

    codice:
    select year(immatricolazione) from auto group by year(immatricolazione)

  8. #8
    niente, non mi recupera nessun dato così. Nemmeno con:

    codice:
    sql = "select immatricolazione from auto group by year(immatricolazione)"
    attualmente con:
    codice:
    sql = "select DISTINCT immatricolazione from auto"
    e

    codice:
    dim a,b
    do while not rs.EOF
    a = rs("immatricolazione")
    b = year(a)
    response.write "<option value='"&b&"'>"&b&"</option>"
    rs.movenext
    loop
    riesco ad ottenere:

    1995
    1995
    1995
    1996
    1996
    2000
    2000
    .
    .
    .

  9. #9
    codice:
    dim a,b,anni
    do while not rs.EOF
    a = rs("immatricolazione")
    b = year(a)
    anni = ""
    if instr(1,anni,rs(immatricolazione)&",")=0 then
      anni=anni&rs(immatricolazione)&","
    end if
    rs.movenext
    loop
    
    dim arr
    arr = split(anni,",")
    
    for i=0 to UBound(arr)
     response.write "<option value='"&arr(i)&"'>"&arr(i)&"</option>"
    next
    così dovrebbe andare
    Purtroppo bisogna imparare che il computer non sbaglia...fa solo quello che gli dici di fare

    www.netpolaris.it

  10. #10
    niente, mi lascia ancora la select completamente vuota.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.