2016-07-18 87 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