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

多表联系关系,去除重复数据

2013-09-25 
多表关联,去除重复数据sql2000语句:select * from tb_c_info as a inner join tb_c_attrib as b on a.c_id

多表关联,去除重复数据
sql2000
语句:

select * from tb_c_info as a inner join tb_c_attrib as b on a.c_id=b.c_id inner join tb_c_o_record as c on a.c_id=c.c_id where c.r_file like '%.avi' 


a表                  c表
a.c_id               c.r_id   c.c_id
1103                   22       1104
1104                   23       1104
1120                   24       1104

a表主键在c表中对应多条记录,我想只取关联后的最大一条或者第一条(有个限定条件最好)

[解决办法]
select * 
from tb_c_info as a inner join tb_c_attrib as b on a.c_id=b.c_id 
inner join (select MAX(r_id)r_id,c_id FROM tb_c_o_record GROUP BY c_id) as c on a.c_id=c.c_id
 where c.r_file like '%.avi' 
[解决办法]
select * 
from tb_c_info as a 
inner join tb_c_attrib as b on a.c_id=b.c_id 
inner join 
(select t1.* 
from tb_c_o_record t1
inner join (select MAX(r_id) r_id,c_id FROM tb_c_o_record GROUP BY c_id)t2
on t1.r_id=t2.r_id and t1.c_id=t2.c_id 
)c on a.c_id=c.c_id 
 where c.r_file like '%.avi'
  

热点排行
Bad Request.