how to get/set value in the middle of between date range in SQL Server 2008 R2 -


my hr project have 1 table field:

empname(nvarchar(50)),leavetype(nvarchar(10)),fromdate(datetime),todate(datetime) 

and sample data entry below:

empname leavetype  fromdate     todate aa         al      22-may-13    28-may-13 bb         spl     25-may-13    31-may-13 

in report want select data daily day day below:

empname 22-may-13   23-may-13   24-may-13   25-may-13   26-may-13   27-may-13   28-may-13   29-may-13   30-may-13   31-may-13 aa         al         al          al          al          al          al    al           bb                                             spl        spl          spl       spl     spl     spl               spl 

how done report stored procedure in sql server 2008 r2 ? appreciate. thanks!

try :

declare @emp table  (empname varchar(10), leavetype varchar(10),  fromdate  date,todate date)  insert @emp values('aa','al','22-may-13','28-may-13') insert @emp values('bb','spl','25-may-13','31-may-13')  select * @emp  ;with cte (select empname,leavetype, fromdate ,todate @emp union  select empname,leavetype,dateadd(dd,1,fromdate),todate  cte fromdate<todate)  select * #demo (select empname,leavetype,fromdate cte )    declare @col varchar(2000) select @col=stuff( (select ',[' + cast(fromdate varchar) + ']'      (select distinct fromdate #demo)b xml path('')), 1,1,'')   print @col  declare @query varchar(max) set @query =     'select empname, ' + @col + '      (select empname, leavetype, fromdate            #demo )      pivot (             min([leavetype])             fromdate in (' + @col + ')             ) pvt     order pvt.empname'   exec (@query)   drop table #demo 

Comments

Popular posts from this blog

python - How to create a legend for 3D bar in matplotlib? -

java - Multi-Label Document Classification -

php - Dynamic url re-writing using htaccess -