Я приму грубый взлом, не зная вашей структуры, а предположив, что у вас есть таблица задач и таблица времени выполнения, в которой хранятся фактические время и даты, которые начисляются за каждую задачу. Это не проверено, но:
выберите t.taskname, sum (случай, когда datepart (d, tt.taskdate) = 1, tt.taskhours) или 0 end) в качестве воскресенья,
сумма (случай, когда datepart (d, tt.taskdate) = 2, t.taskhours) иначе 0 end) как понедельник
из задачного т
присоединиться к tasktime tt на t.taskid = tt.taskid
где tt.taskdate> = @begindate и tt.taskdate <= @ enddate </p>
Предложение where важно, потому что вы, вероятно, хотите отображать только одну неделю (обычно текущую неделю) в вашей сетке. Это также предполагает, что вы правильно сохранили даты ваших начисленных часов как тип данных datetime. (если вы не исправили это сейчас - вы поблагодарите меня позже.) Переменные будут отправлены из пользовательского интерфейса некоторым способом. Я лично сделал бы это как сохраненный процесс. Я уехал со вторника по субботу для вас.