Twoje pierwsze rozwiązanie jest już prawie gotowe, ale jest bardziej skomplikowane niż powinno i i tak nie zadziała. Pominie wszystkie wiersze z ostatniego dnia miesiąca końcowego.
Możesz dodać jeden miesiąc do end month
a następnie użyj BETWEEN pierwszego dnia każdego miesiąca. np.
start month: 9 , start year: 2011
end month: 3, end year: 2012
BETWEEN '2011-09-01' AND '2012-04-01'
lub, jak wskazuje JNK, tak będzie lepiej:
DataDelega >= '2011-09-01' AND DataDelega < '2012-04-01'
Musisz dodać trochę logiki, aby poradzić sobie z end month
jest grudzień, ale wygląda na to, że jest to najprostszy sposób na zrobienie tego.