>CREATE PROCEDURE ct_BlockListing >@ltQueryFrom datetime, >@ltQueryTo datetime, >@lnDeptID int > >as >select > meetings.begintime, > meetings.blockType, > meetings.meetingnumber, > meetings.blockid, > case meetings.blockType > when 1 then (SELECT rtrim(LastName)+', '+rtrim(Firstname) from coPer WHERE coPerID=meetings.blkPerID) > else (SELECT GroupName from group_ WHERE GroupID=meetings.BlkPerID) > end as BlockDesc, > datediff(mi,begintime,endtime) as BlkMins, > (Select count(m1.meetingnumber) from meetings m1 > where m1.blockmember=1 and m1.isblock=0 and m1.blockid=meetings.BlockID) BlkCaseCnt, > isnull((Select sum(datediff(mi,m2.begintime,m2.endtime)) from meetings m2 > where m2.blockmember=1 and m2.isblock=0 and m2.blockid=meetings.BlockID),0) as BlkCaseMinutes, > (isnull((Select cast(sum(datediff(mi,m2.begintime,m2.endtime)) AS numeric(7,2)) from meetings m2 > where m2.blockmember=1 and m2.isblock=0 and m2.blockid=meetings.BlockID),0) > /datediff(mi,begintime,endtime)) as PercentUsed, > datediff(mi,begintime,endtime)-isnull((select sum(datediff(mi,m2.begintime,m2.endtime)) from meetings m2 > where m2.blockmember=1 and m2.isblock=0 and m2.blockid=meetings.BlockID),0) as RemainingMinutes >from meetings >where iscancelled=0 and isblock=1 >and begintime between @ltQueryFrom and @ltQueryTo >and meetings.deptid=@lnDeptID >order by begintime >