表1是原本的内容,表2是查询后的结果,要求将表1所缺少的月份补充上去,表1中第二列显示的内容在表2中也相应显示出来,其它月份在表中的第二列没内容的,以零显示.请各位大虾指点指点.
------解决方案--------------------
- SQL code
--测试数据declare @T table(yd varchar(10),rs int)insert @Tselect '2006-1',5 union allselect '2006-2',8 union allselect '2006-5',10 union allselect '2006-8',3 union allselect '2006-12',10select top 12 mon=identity(int,1,1) into #mon from syscolumnsselect yd=a.yd+ltrim(b.mon),rs=isnull(c.rs,0) from (select distinct yd=left(yd,5) from @T) a cross join #mon b left join @T c on a.yd+ltrim(b.mon)=c.yd/*yd rs2006-1 52006-2 82006-3 02006-4 02006-5 102006-6 02006-7 02006-8 32006-9 02006-10 02006-11 02006-12 10*/--删除测试drop table #mon