SQL Server 2008 замечательный. Посмотрите на эти примеры:
Стол для обсуждения
create table attendance(
empid int,
[1] char(1), [2] char(1), [3] char(1), [4] char(1),
[5] char(1), [6] char(1), [7] char(1), [8] char(1));
insert attendance values
(1,'P','P','H','A','A','P','P','P'),
(2,'P','P','P','P','P','P','P',null),
(3,'P','P','H','P','P','P',null,null);
Варианты выбора выписки (при необходимости увеличьте до 31 дня)
Вложенный выбор
select empid,
(select COUNT(*)
from (values([1]),([2]),([3]),([4]),([5]),([6]),([7]),([8])) t(Day)
where Day='P')
from attendance
UNPIVOT
select empid, count(day)
from attendance
unpivot (type for day in ([1],[2],[3],[4],[5],[6],[7],[8])) unp
where type='P'
group by empid