一个SQL的select 语句的问题
问题是这样的,如果一个表table_1中有三个列,col_1,col_2,col_3   
 里面的数据如下:     
 col_1      col_2         col_3 
 1                     4                     张三 
 1                     5                     李四 
 2                     3                     全一 
 2                     4                     王二 
 2                     5                     周五   
 希望有办法,用一个或几个SQL语句,使我list出数据如下   
 col_1         col_2         col_3 
 1                        1                     NULL 
 1                        2                     NULL 
 1                        3                     NULL 
 1                        4                     张三 
 1                        5                     李四 
 1                        6                     NULL 
 1                        7                     NULL 
 1                        8                     NULL 
 2                        1                     NULL 
 2                        2                     NULL 
 2                        3                     全一 
 2                        4                     王二 
 2                        5                     周五 
 2                        6                     NULL 
 2                        7                     NULL 
 2                        8                     NULL     
 另外,,这个表里面的每组(按col_1分组)数据不一定,可能有8条,也可能有5条,也可能只有一条,, 
 需要list出来的数据,每组(按col_1分组)必须有8条记录,,按照col_2以升序排列,,     
 不知哪位高人有办法,, 
------解决方案----------------------创建测试环境 
 create table #t(col_1 int,col_2 int,col_3 varchar(20))   
 --插入测试数据 
 insert #t(col_1,col_2,col_3) 
 select  '1 ', '4 ', '张三 ' union all 
 select  '1 ', '5 ', '李四 ' union all 
 select  '2 ', '3 ', '全一 ' union all 
 select  '2 ', '4 ', '王二 ' union all 
 select  '2 ', '5 ', '周五 '   
 --求解过程   
 select top 8 identity(int,1,1) as id into #tmp from sysobjects a,sysobjects b   
 select distinct col_1,id  
 into #tmp2 
 from #t 
 cross join #tmp    
 select #tmp2.col_1,#tmp2