數據如下
王XX 20140720 20140722 事假
李XX 20140722 20140723 病假
我需要轉成
王XX 20140720 事假
王XX 20140721 事假
王XX 20140722 事假
李XX 20140722 病假
李XX 20140723 病假
------解决方案--------------------
with a(name,starttime,endtime,col)as(
select '王XX','20140720','20140722','事假' union
select '李XX','20140722','20140723','病假'
)
select a.name,starttime+number,col
from a,master..spt_values
where type='p' and starttime+number<=endtime