Topic: Pubblico - Composto da 4 Posts di 2 Utenti.
| 13 Agosto, 2011 09:48 | #1 | ||
|---|---|---|---|
|
Buongiorno da giorni sto provando a far funzionare una query che mi filtri delle date su una tabella che non siano comprese entro certi range salvati su un'altra tabella. Mi spiego meglio: Il risultato è che ogni record presente in "giorni_feriali", ma non compreso nell'intervallo definito in "ferie_rfi", viene conteggiato tante volte quanti sono i record in "ferie_rfi" anzichè essere contato una sola volta. Mentre i record presenti in "giorni_feriali" e compresi nell'intervallo definito da "ferie_rfi" vengono conteggiati tante volte quanti sono i record in "ferie_rfi" - 1 anziche non contarlo per niente. Vi faccio un ulteriore esempio per capire meglio cosa vorrei: Supponiamo che nella tabella "giorni_feriali" abbia 5 date che vanno dal 12/09/2011 al 16/09/2011 e in "ferie_rfi" ho due record dove il primo determina un intervallo che va dal 12/09/2011 al 12/09/2011 mentre il secondo determina un intervallo che va dal 15/09/2011 al 15/09/2011. il risultato della query che voglio io dovrebbe essere 3 invece la mia da 8 perchè conta una volta il 12/09/2011 e il 15/09/2011 (che non dovrebbe contare) due volte il 13/09/2011, il 14/09/2011 e il 16/09/2011 per un totale di 8 record. Diciamo quindi che il risultato non è proprio quello che volevo io :-( qulache suggerimento? |
|||
| 13 Agosto, 2011 11:52 | #2 | ||
|---|---|---|---|
|
Ho fatto qualche tentativo e sono giunto a questa soluzione: La testo per un po poi vi faccio sapere se va. |
|||
| 13 Agosto, 2011 14:25 | #3 | ||
|---|---|---|---|
|
Forse tu sei stato chiaro, ma non ho capito: vuoi contare i giorni feriali o quelli non feriali? Quelli feriali dovresti riuscire a contarli così: Io ti consiglierei di scrivere questo dato in un apposito campo della tabella ferie, perchè leggerlo da questa JOIN è un'operazione inutilmente costosa. |
|||
| 13 Agosto, 2011 16:43 | #4 | ||
|---|---|---|---|
|
Grazie fuser per la risposta. La tabella "giorni_feriali" contiene un elenco di giorni feriali (un record per ogni giorno feriale da qui ad un tempo x) ed è questi che io voglio contare. Il mio problema è escludere da questo conto gli eventuali giorni di ferie. I periodi di ferie sono memorizzati nella tabella "ferie_rfi" e sono espressi come range di data. Mi spiego: quando io inserisco un periodo di ferie non inserisco un record per ogni giorno di ferie ma inserisco un record che dice quando iniziano e quando finiscono le ferie. comunque ho fatto diverse prove con la seconda query che ho postato e sembra che ho raggiunto il mio scopo. Grazie |
|||
Condividi su:
Loggati o Registrati per replicare