一个sql的问题求教?
sql   server   2005   
 id   月份   联系人1,联系人2,联系人3 
 1   1   王1   王2   王3 
 1   2   王2   王3   王1 
 1   3   王1   王4   王5 
 1   4   王2   王1   王3   
 根据id汇总,要求汇总结果如下 
 1   王1   王2   王3 
 或 
 1   王2   王3   王4 
 ......   
 汇总后联系人仍为3个字段,汇总值是联系人并集中的任意3个, 
 但是联系人1,联系人2,联系人3不能重复.     
------解决方案--------------------select tab01.id ,min(tab01.id1) as id1 ,min((case when minid1 <> tab01.id2  then tab01.id2 end)) as id2, 
 min((case when minid1 <> tab01.id3 and minid2 <> tab01.id3  then tab01.id3 end)) as id2 
 from tab01  
 inner join  
 (select tab01.id ,min(tab01.id1) as minid1 ,min((case when minid1 <> tab01.id2  then tab01.id2 end)) as minid2 
 from tab01 inner join (select id ,min(id1) as  minid1  from tab01 group by id) a on tab01.id=a.id group by tab01.id  ) b  
 on tab01.id=b.id 
 group by tab01.id    
 --结果 
 1	王1	王2	王3