SELECT dbo.corooms.roomname, count(roomname) as RoomCnt, sum(case when m.begintime between CONVERT(varchar(15),m.begintime, 110)+' 07:00:00' and CONVERT(varchar(15), m.begintime, 110)+' 14:59:00' then 1 else 0 end) as ShiftType1, sum(case when m.begintime between CONVERT(varchar(15),m.begintime, 110)+' 15:00:00' and CONVERT(varchar(15), m.begintime, 110)+' 23:59:00' then 1 else 0 end) as ShiftType2, sum(case when m.begintime between CONVERT(varchar(15),m.begintime, 110)+' 00:00:00' and CONVERT(varchar(15), m.begintime, 110)+' 06:59:00' then 1 else 0 end) as ShiftType3 FROM dbo.meetings m INNER JOIN dbo.corooms ON m.roomid = dbo.corooms.roomid INNER JOIN dbo.codept ON m.deptid = dbo.codept.deptid where iscompleted = 1 and m.deptid = 1 group by roomname order by roomname