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

多表查询去除重复值

表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是不是对所有的重复值都有过滤的效果?

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

相关文章:

你感兴趣的文章:

标签云: