日期:2014-05-17  浏览次数:20468 次

SQL中的重复数据选择问题
例子数据
表一:table1
    a1  a2  a3  a4  a5    列名
   1x  2x  3x   4x  5x
表二:table2
    b1  b2  b3  b4  b5    列名
    1x  2x  1   2   3
    1x  2x  1   2   4
执行语句
    select distinct a.a1,a.a2,b.b3,b.b4,b.b5 
    from table1 a,table2 b
    where a.a1=b.b1 and a.a2=b.b2
执行结果:
    1x 2x 1 2 3
   1x 2x 1 2 4
我想在想要结果
   1x 2x 1 2 3 
别的其他数据不要,可能列会多点,重复的数据多点但只想选择重复中的第一行数据,大神们帮帮小弟吧!
SQL select 行业数据

------解决方案--------------------
Look Look

create table #t1
(
a1 varchar(10),
a2 varchar(10),
a3 varchar(10),
a4 varchar(10),
a5 varchar(10)
)
create table #t2
(
b1 varchar(10),
b2 varchar(10),
b3 varchar(10),
b4 varchar(10),
b5 varchar(10)
)
insert #t1
select '1x',  '2x',  '3x',   '4x',  '5x' union all
select '1a',  '2a',   '3a',  '4a',  '5a'

insert #t2
select '1x',  '2x',  'a',   'a',   '欧莱雅' union all
select  '1x',  '2x',  'c',   'c',   '潘婷' union all
select '1a',  '2a',  'a',   'b',   '欧莱雅' union all
select  '1a',  '2a',  'a',   'b',   '潘婷'

select t1.a1,t1.a2,max(t2.b3)as b3 ,max(t2.b4) as b4,max(t2.b5) as b5
from #t1 t1
left join #t2 t2 on t1.a1=t2.b1 and t1.a2=t2.b2