Ok, ho risolto così e i dati mi tornano quindi credo sia corretto :master:
codice:
select
CONVERT(CHAR(10), DateTimeCall, 120) as Data,
Count(CONVERT(CHAR(10), DateTimeCall, 120)) as Chiamate
from Chiamate
where (
(
CONVERT(CHAR(10), DateTimeCall, 120)>= '2007-07-04' AND CONVERT(CHAR(10), DateTimeCall, 120) <= '2007-07-21'
AND DATENAME(weekday , DateTimeCall) <> 'Domenica' AND DATENAME(weekday , DateTimeCall) <> 'Sabato'
AND (
CONVERT(CHAR(8), DateTimeCall, 108) >= '08:00:00' And CONVERT(CHAR(8), DateTimeCall, 108) <= '12:30:59'
OR CONVERT(CHAR(8), DateTimeCall, 108) >= '13:30:00' And CONVERT(CHAR(8), DateTimeCall, 108) <= '18:30:59'
) OR (
CONVERT(CHAR(10), DateTimeCall, 120)>= '2007-07-04' AND CONVERT(CHAR(10), DateTimeCall, 120) <= '2007-07-21'
AND DATENAME(weekday , DateTimeCall) = 'Sabato'
AND CONVERT(CHAR(8), DateTimeCall, 108) >= '08:00:00' And CONVERT(CHAR(8), DateTimeCall, 108) <= '12:30:59'
)
)
)
group by
CONVERT(CHAR(10), DateTimeCall, 120)
ORDER BY
CONVERT(CHAR(10), DateTimeCall, 120) ASC