2016-07-18 65 views
1

我有两个表t1和t2,
表t1包含像数据是选择匹配数据

count routingid addreesid 
1  1125  804 
3  1125  804 
4  304  5 

和表t2包含像下面

count routingid addreesid 
5  1125  804 
7  1125  804 
2  303  4 

我下面执行数据查询从t1获得匹配数据只有

select t1.* from t1 INNER JOIN t2 ON t1.routingid=t2.routingid and t1.addreesid=t2.addreesid 

th是查询返回以下数据

count routingid addreesid 
5  1125  804 
7  1125  804 
5  1125  804 
7  1125  804 
+0

它合适的联合行为。 t2中有两个匹配的元组,每个元组在t1 –

+0

ok ..但我不想重复记录。我希望表t1中的2行与t2匹配 – Sanjay

回答

2

因为您有重复,所以不要奇怪。

5  1125  804 

t2中的上述行可以连接到以下两行。

5  1125  804 
7  1125  804 

同样

3  1125  804 

也可以加入到同一行。因此,这四行是预期的结果,这就是你所得到的结果。

目前尚不清楚为什么你甚至有两个表具有相同的列和显然是相同的数据。你真的应该考虑使它们正常化。

的地毯下扫问题

的临时解决方案是使用不同的

select distinct t1.* from t1 
    INNER JOIN t2 ON t1.routingid=t2.routingid 
    and t1.addreesid=t2.addreesid 
+0

谢谢..你能否帮我从表t1中获得2条匹配的记录。 – Sanjay