首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

一个sql的有关问题求教

2012-01-30 
一个sql的问题求教?sqlserver2005id月份联系人1,联系人2,联系人311王1王2王312王2王3王113王1王4王514王2

一个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

热点排行