Basta 1 query... disegna un range con 2 linee, poi disegna 3 periodi:
1 cometamente incluso
1 a cavallo all'inizio
1 a cavallo alla fine
Se vuoi i periodi compresi nel range anche parzialmente ti basta controllare che il fine periodo o l'inizio periodo sia tra Inizio e fine range...
Esempio:
---------<------------->-------- Range
------[-------]----------------- Periodo1
--------------------[-------]--- Periodo2
-------------[------]----------- Periodo3
Se costruisci la query:
SELECT * FROM T1
WHERE
(PeriodoInizio Between RangeInizio AND RangeFine)
OR
(PeriodoFine Between Rangeainizio AND RangeFine)
Saluti