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

    Query con DateDiff: Problema

    Io sto cercando di creare una query che mi faccia la differenza tra due date in giorni e che mi estrae il valore in giorni minore. Mi spiego meglio:

    ho una tabella 'prodotti' e una tabella 'Listini'. La tabella 'Listini' contiene le promozioni degli articoli che si trovano nella tabella 'prodotti'. Il campo 'id' della tab 'prodotti' è collegato con il campo 'idProdotti' della tab 'Listini'. Quindi un singolo articolo (tab prodotti) può avere più promozioni nella tab 'Listini' che sono distinguibili tramite la data. Es: l'articolo con id=1 (della tab prodotti) può avere (in 'Listini') tre record, il primo con DataInizio 01/10/2006 DataFine 31/10/2006, il secondo DataInizio 10/10/2006 DataFine 25/10/2006, il terzo DataInizio 01/10/2006 DataFine 31/12/2006....Ho calcolato la differenza delle date in giorni così:

    DateDiff('d',Listini.DataInizio,Listini.DataFine) as calcoloGiorni

    Però come potete notare, anche se le promozioni per un articolo sono tre e che si accavallano, io ne devo selezionare una sola che dovrebbe essere quella con il valore in giorni minore.
    Quindi una volta che ho calcolato la differenza in giorni ho bisogno di estrarre solo il valore minore dei giorni in questo caso quello relativo al secondo, DataInizio 10/10/2006 DataFine 25/10/2006 (vedi sopra).
    Qualcuno può aiutarmi??

  2. #2
    Forse non si è capito molto bene il problema che ho:

    con questa query:

    SELECT prodotti.*, Listini.*, DateDiff("d",Listini!DataInizio,Listini!DataFine) AS calcoloGiorni
    FROM prodotti LEFT JOIN Listini ON prodotti.id = Listini.idProdotti
    WHERE (((prodotti.sottocategoria)="videocamere"));

    mi creo la query1 così visualizzata:

    idProdotti desc prezzo calcoloGiorni sottocategoria
    1 videocamera 200,00 32 videocamere
    1 videocamera 200,00 40 videocamere
    1 videocamera 200,00 65 videocamere
    2 videocamera 156,00 60 videocamere
    3 videocamera 320,00 30 videocamere
    4 videocamera 166,00 90 videocamere


    Come si può notare con questa query, l'articolo con id 1 mi viene visualizzato 3 volte perchè nella tabella 'Listini' è l'unico che ha tre record con tre date di promozione diverse.
    Come faccio a farmi estrarre solo il record sempre dell'id 1 con il numero di giorni minore? (cioè 32)???

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.