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

    [Access] query con range di date

    Ciao a tutti, non riesco a fare una query che mi restituica i record voluti.
    In pratica ho una tabella: Iva(id_iva, valore, inizio_validita)
    Per fare delle prove ho inserito i seguenti record:
    codice:
    VALORE     INIZIO_VALIDITA
    18            10/10/2009
    19            03/04/2010
    20            09/11/2010
    21            17/11/2011
    Ora, se io volessi sapere l'iva che c'era nel periodo che va da 05/05/2010 a 12/12/2010 come devo impostare la query? In pratica, in base al periodo cercato, devo avere come risultato l'iva al 19 e al 20.
    Grazie
    Jupynet

  2. #2
    Moderatore di Annunci siti web L'avatar di Cesar
    Registrato dal
    Dec 2001
    Messaggi
    3,446

    Re: [Access] query con range di date

    Se ho capito bene, dovresti risolverlo con un query di questo tipo:

    codice:
    ....
    WHERE inizio_validita Between #5/5/2010# AND #12/12/2010#

  3. #3
    Ciao, l'avevo già provata, ma non mi da il risultato voluto. In pratica non mi deve restituire i record compresi in un intervallo di date, ma deve restituirmi i record i quali hanno la data di validità rientrante in tale periodo.
    Nell'esempio che ho fatto io, essendo il periodo dal 5/5/10 al 12/12/10, avrei che dal 5/5/10 all'8/11/10 ho l'iva al 19%, mentre dal 9/11/10 al 12/12/10 ho l'iva al 20%.
    Pertanto la query mi deve restituire due record (iva 19 e iva 20).
    Jupynet

  4. #4
    se non ho capito male ti devi fare almeno 2 query dove nella prima vai a rilevare la data più vicina a quella che indichi nel range.. ad esempio 5-5-2010 deve rilevare la data 3-4-2010 così facendo poi setti il between con la data ricalcolata ed hai i tuoi due record..
    puoi farlo anche con una sottoquery o una query nei criteri..

  5. #5
    Prova a vedere:

    SELECT C.* FROM (
    SELECT max(tb_iva.DATA) as data_from
    FROM tb_iva
    where tb_iva.DATA <#5/5/2010#
    ) TBFROM,

    (
    SELECT max(tb_iva.DATA) as data_to
    FROM tb_iva
    where tb_iva.DATA <#12/12/2010#
    ) TBTO,

    TB_IVA C
    WHERE C.DATA BETWEEN TBFROM.data_from AND TBTO.DATA_TO

    Ciao
    Mik

  6. #6
    Direi che ho proprio bisogno di una vacanza...
    Grazie Mik, è proprio quello che volevo ottenere. Ho fatto solo una piccola modifica, visto che gli estremi devono essere compresi:
    <=#5/5/2010#
    <=#12/12/2010#
    Jupynet

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.