我有两张桌子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
最佳答案
既然你有复制品就不奇怪了。
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