Я думаю, что вы близки к тому, что вы после. Вы пытались запустить это?
A MAJOR Проблема, которую я вижу, состоит в том, что у вас нет выбора, на какого работника вы смотрите. Я предполагаю, что должен быть какой-то фильтр типа
WHERE Worker_ID = xxx
в противном случае вы проверяете всех рабочих в таблице и получите странные результаты.
Еще одна проблема, которую я вижу здесь:
print 'wokers submited litle shifts'
set @bla=count(dbo.Request.Date_CantWork)
select @bla
from dbo.Request
Я предполагаю, что это вернет синтаксическую ошибку. Должно быть:
print 'wokers submited litle shifts'
select @bla=count(Date_CantWork)
from dbo.Request
Что вы получите, если запустите, как написали?