34 messaggi dal 29 luglio 2005
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??
34 messaggi dal 29 luglio 2005
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)???
Modificato da simon75 il 03 ottobre 2006 17.34 -

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.