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

多表查询去除重复值,该如何处理

2012-04-07 
多表查询去除重复值表nA:aid a b c01 1 112 3 421 1 1表nB:bid a b f02 3 111 1 1理想查询结果:aid a b c

多表查询去除重复值
表nA:
aid a b c
0 1 1 1
1 2 3 4
2 1 1 1

表nB:
bid a b f
0 2 3 1
1 1 1 1

理想查询结果:
aid a b c bid f
0 1 1 1 1 1
1 2 3 4 0 1

我的查询语句:

SQL code
SELECT DISTINCT * FROM nA RIGHT JOIN nB ON nA.a=nB.a AND nA.b=nB.b WHERE f=1


但是实际查询结果:
aid a b c bid f
0 1 1 1 1 1
1 2 3 4 0 1
2 1 1 1 1 1

怎样将其中的重复值去掉?

[解决办法]
假设AID唯一
SELECT * FROM nA a inner JOIN nB ON nA.a=nB.a AND nA.b=nB.b 个
where not exists(select 1 from na where a.a=a and a.b=b amd a.aid>aid)



[解决办法]
SELECT * FROM nA RIGHT JOIN nB ON nA.a=nB.a AND nA.b=nB.b WHERE f=1
group By nA.a, nA.b
[解决办法]
探讨

多谢两位的帮助,问题解决。
“狼人”的方法比较好。
另请问下group by是不是对所有的重复值都有过滤的效果?

热点排行