我有两张桌子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
此查询返回以下数据
count routingid addreesid
5 1125 804
7 1125 804
5 1125 804
7 1125 804
答案 0 :(得分: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