2016-11-30 46 views
1

這裏是我的表「地球」查找共享數據在多個列

http://imgur.com/EIlbKEN

我需要找到所有記錄/行,其中人們分享

  • 同一國家
  • 和在同一個國家內,他們需要共享同一個州
  • 並且在同一個州內,他們需要共享同一個城市

在此查詢中,我不能使用任何特定的國家,州或城市名稱。因此,有沒有我可以使用的查詢,這仍然會返回兩個或更多共享相同國家,州和城市的人?

回答

4

你在找什麼是自我加入。它看起來像這樣:

select t1.personid, t2.personid, t1.country, t1.state, t1.city 
from t t1 join 
    t t2 
    on t1.country = t2.country and t1.state = t2.state and t1.city = t2.city and 
     t1.personid < t2.personid;