Ho questo problema, ho una tabella che per ogni riga ha due campi numerici che indicano un anno di inizio e un anno di fine, in pratica degli intervalli di tempo.
Esiste un metodo per cui tramite una semplice chiamata SQL riesco a recuperare direttamente tutti gli anni dei vari intervalli?
Ad esempio supponendo che la mia tabella contanga solo due righe:
Sì, la tabella di appoggio mi sembra sensata. Non capisco viceversa come potrei usare between. Il mio obbiettivo non è verificare se un valore cade negli intervalli ma estrarre gli intervalli.
Appunto,
(preso da http://canone.ce.unipr.it/MySQLTutor/Manuale/Cap_13.htm)
Between
Controlla se un valore è compreso all’interno di un intervallo di valori, inclusi gli estremi.
Esempio:
Data la tabella:
Movimento (Numero, Descrizione, Data, Importo, Codice)
Elenco dei movimenti con importo compreso tra 100 e 200
SQL
Select *
From Movimento
Where Importo Between 100 And 200
No, così non funziona. Mi permette di selezionare le righe che contengono valori tra due intervalli. Ma io voglio il contrario: dati gli intervalli come ricavo tutti i valori?
La tabella di appoggio funziona, ma mi chiedevo se esistesse una soluzione piú elegante.