declare @t table (id int ,value int ,month int )
insert into @t values(1,100,1)
insert into @t values(2,200,2)
insert into @t values(3,300,3)
select a.id,a.value,b.month from @t A right join
(select 1 as month
union all
select 2
union all
select 3
union all
select 4
union all
select 5
union all
select 6
union all
select 7
union all
select 8
union all
select 9
union all
select 10
union all
select 11
union all
select 12
)B on a.month =b.month
--错了,更正。
select A.id,A.value,B.月份
from test A right join
(select 1 as 月份
union all
select 2
union all
select 3
union all
select 4
union all
select 5
union all
select 6
union all
select 7
union all
select 8
union all
select 9
union all
select 10
union all
select 11
union all
select 12
) B on B.月份=A.A.month
select A.id,A.value,A.month
from test A right join
(select 1 as 月份
union all
select 2
union all
select 3
union all
select 4
union all
select 5
union all
select 6
union all
select 7
union all
select 8
union all
select 9
union all
select 10
union all
select 11
union all
select 12
) B on B.月份=A.A.month
select id,value,month from test
union all select null,null,4
union all select null,null,5
union all select null,null,6
union all select null,null,7
union all select null,null,8
union all select null,null,9
union all select null,null,10
union all select null,null,11
union all select null,null,12