Ciao flameseeker,
prova a vedere questi esempi.. è probabile anche che mi sbagli io... ma è meglio confrontarsi:
Può essere che non tengo conto di qualcosa, provo a seguirti nei ragionamenti, fammi sapere se ho capito male qualche passaggio.
Premetto che parlo per logica (quindi non sto testando su un database di prova).
ESEMPIO A
Codice:
data_da data_a
20130812 20130814
Allora, prendo queste come date di riferimento per definire il range temporale che mi interessa selezionare.
mio risultato:
Codice:
ev_tit evento_da evento_a
A 20130801 20130901
B 20130812 20130814
Le condizioni che ho sviluppato usando i riferimenti che esponi sarebbero, concettualmente, formulabili così:
Codice:
evento_da <= data_a AND evento_a >= data_da
Per l'evento A, quindi otterrei
Codice:
'20130801' <= '20130814' AND '20130901' >= '20130812'
20130801 è minore di 20130814
E
20130901 è maggiore di 20130812
Qui mi sembra di esserci.
Per l'evento B
Codice:
'20130812' <= '20130814' AND '20130814' >= '20130812'
20130812 è minore di 20130814
E
20130814 è maggiore di 20130812
Mi trovo anche qui.
ESEMPIO B
Codice:
data_da data_a
20130815 20130815
Quindi range di riferimento una giornata precisa.
mio risultato:
Codice:
ev_tit evento_da evento_a
A 20130801 20130901
C 20130815 20130815
Per l'evento A, quindi otterrei
Codice:
'20130801' <= '20130815' AND '20130901' >= '20130815'
20130801 è minore di 20130815
E
20130901 è maggiore di 20130815
Mi trovo anche qui.
L'evento C:
Codice:
'20130815' <= '20130815' AND '20130815' >= '20130815'
20130815 è uguale a 20130815
E
20130815 è uguale a 20130815
Ci sono ancora.
ESEMPIO C
Codice:
data_da data_a
20130815 20130902
Ok, nuovo riferimento temporale.
mio risultato:
Codice:
ev_tit evento_da evento_a
A 20130801 20130901
C 20130815 20130815
L'evento A:
Codice:
'20130801' <= '20130902' AND '20130901' >= '20130815'
20130801 è minore di 20130902
E
20130901 è maggiore di 20130815
Quindi viene recuperata.
Evento C
Codice:
'20130815' <= '20130902' AND '20130815' >= '20130815'
20130815 è minore di 20130902
E
20130815 è uguale a 20130815
Mi trovo anche qui infine.
Se c'è qualcosa che non quadra nella mia logica, onestamente, non sono riuscito a vederlo.
Qualcuno degli esempi che ho posto ti risulta essere errato ?