Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Aiuto su query Sql

  1. #1

    Aiuto su query Sql

    Salve a tutti,
    ho necessità di capire come scrivere una query sql (Db access) per estrapolare dati secondo un determinato criterio.

    Vi spiego...

    Ho una tabella tblValori con i seguenti campi:

    ID -- chiave primaria contatore
    prezzo -- tipo testo
    ora -- data/ora (il valore al suo interno è del tipo 8.30.54)
    quantita -- numerico
    data -- data/ora (il valore al suo interno è del tipo 11/06/2004)

    Ho la seguente porzione di record:
    codice:
     
    
    ID	prezzo	ora	quantita	data
    34	28747	8.30.56	 5	11/06/2004
    35	28745	8.30.58	 5	11/06/2004
    36	28775	8.31.05	 5	11/06/2004
    37	28875	8.32.05	 1	11/06/2004
    38	28874	8.32.15	 1	11/06/2004
    39	28873	8.32.20	 2	11/06/2004
    40	28742	8.32.56	 5	11/06/2004
    41	28741	8.33.18	 5	11/06/2004
    42	28740	8.33.45	 5	11/06/2004
    43	28839	8.34.05	 1	11/06/2004
    44	28838	8.34.15	 1	11/06/2004
    45	28837	8.34.35	 2	11/06/2004
    46	28736	8.34.55	 5	11/06/2004
    47	28835	8.35.05	 1	11/06/2004
    48	28834	8.35.25	 1	11/06/2004
    49	28833	8.35.45	 2	11/06/2004
    L'estrazione dati viene effettuata in base all'ora ed alla data con un intervallo di secondi dall'ora di inizio

    Se ad esempio stabilisco (attraverso un form) di recuperare tutti i record con data 11/06/2004 a partire dall'ora 8.30.00 con intervallo di un minuto io vorrei che venissero estrapolati i seguenti record:


    codice:
     
    
    ID	prezzo	ora	quantita	data
    35	28745	8.30.58	 5	11/06/2004
    36	28775	8.31.05	 5	11/06/2004
    40	28742	8.32.56	 5	11/06/2004
    42	28740	8.33.45	 5	11/06/2004
    46	28736	8.34.55	 5	11/06/2004
    49	28833	8.35.45	 2	11/06/2004

    ...cioè l'ultimo valore (prezzo) del minuto.

    Spero di essere stato abbastanza chiaro...
    Un grazie anticipato a tutti voi
    Aikon

    ...questo business è binario: o sei 1 o sei 0, vivo o morto, non esistono secondi classificati!

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    446
    codice:
    sql = "Select * from tblValori where ( data = #" & data & "#) and ( ora between #" & orainizio & "# and #" & orafine & "#)"

    orainizio sarà l'ora passata dal form e orafine sarà calcolata tramite la funzione DateAdd.

    DateAdd funziona nel seguente modo :

    orafine = DateAdd("d",1,orainizio)

    in questo modo aggiunge 1 giorno....per aggiungere un minuto, controlla la sintassi tramite google ( cerca DateAdd Function ....io non la ricordo ).

    Ciao
    Veloce,Affidabile,Economico : Scegline 2

    Se la tua ragazza non te la da, tu non prendertela

  3. #3
    Originariamente inviato da saucer
    codice:
    sql = "Select * from tblValori where ( data = #" & data & "#) and ( ora between #" & orainizio & "# and #" & orafine & "#)"

    orainizio sarà l'ora passata dal form e orafine sarà calcolata tramite la funzione DateAdd.

    DateAdd funziona nel seguente modo :

    orafine = DateAdd("d",1,orainizio)

    in questo modo aggiunge 1 giorno....per aggiungere un minuto, controlla la sintassi tramite google ( cerca DateAdd Function ....io non la ricordo ).

    Ciao

    Grazie saucer per l'interessamento, ma io non posso impostare un'ora di fine;
    mi spiego meglio...
    se scrivo la query che mi hai suggerito, impostando un'ora di inizio esempio 8.30.00, aggiungendo un minuto diventerebbe 8.31.00 estrapolandomi così solo 1 record....
    Aikon

    ...questo business è binario: o sei 1 o sei 0, vivo o morto, non esistono secondi classificati!

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    446
    capito male.


    Vuoi....data una tabella con le vendite, avere il totale acquistato suddiviso per minuti?

    Se e' cosi, la cosa si complica di parecchio
    Veloce,Affidabile,Economico : Scegline 2

    Se la tua ragazza non te la da, tu non prendertela

  5. #5
    Originariamente inviato da saucer
    capito male.


    Vuoi....data una tabella con le vendite, avere il totale acquistato suddiviso per minuti?

    Se e' cosi, la cosa si complica di parecchio

    Voglio poter estrapolare i dati secondo l'esempio che ho scritto nel mio primo post.
    Aikon

    ...questo business è binario: o sei 1 o sei 0, vivo o morto, non esistono secondi classificati!

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    446
    domanda stupida :

    - nel tuo esempio non mostri dati ad intervalli di un minuto esatto....quindi con che criterio vuoi avere i risultati?
    - a che ti serve mostrare solo alcuni pagamenti e non tutti?
    Veloce,Affidabile,Economico : Scegline 2

    Se la tua ragazza non te la da, tu non prendertela

  7. #7
    Originariamente inviato da saucer
    domanda stupida :

    - nel tuo esempio non mostri dati ad intervalli di un minuto esatto....quindi con che criterio vuoi avere i risultati?
    - a che ti serve mostrare solo alcuni pagamenti e non tutti?
    In effetti è così non è detto che tra un intervallo e l'altro ci passi preciso un minuto;
    a me serve cmq recuperare il record relativo ad un dato minuto ma l'ultimo utile prima che passa al minuto successivo;

    quindi se ho i seguenti dati :
    8.30.00
    8.30.34
    8.30.58

    io devo recupera quello relativo a 8.30.58
    Aikon

    ...questo business è binario: o sei 1 o sei 0, vivo o morto, non esistono secondi classificati!

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.