嗨,我一直在尝试通过匹配值连接两个表。
我的第一个表名为位置,其中包含以下列:(国家、州、城市、纬度、经度)
我有第二个名为 twitter 的表,其中包含以下列:(用户、推文、纬度、经度)
我想做的是将位置表连接到 Twitter 表,当纬度和经度匹配时,它将在 Twitter 数据旁边显示相应的国家、州和城市列。
到目前为止我已经尝试过但没有运气。它所做的就是将每个城市添加到多行的每条推文中。
select * from twitter
join location
on twitter.latitude = location.latitude
and twitter.longitude = location.longitude
请帮忙!
由于我们可能没有每个纬度/经度的位置,因此我们使用
LEFT JOIN
:
select t.User
,t.Tweet
,t.Latitude
,t.Longitude
,l.Country
,l.State
,l.City
from twitter t
left join location l on t.latitude = l.latitude
and t.longitude = l.longitude
使用左连接。它会给你所有的结果。
select * from twitter
left join location
on twitter.latitude = location.latitude
and twitter.longitude = location.longitude
使用 join 的简化方法 - 但为了代码清晰而使用表名别名等(t = twitter、l=location 等)
select * from twitter t
inner join location l
on t.latitude = l.latitude
WHERE t.longitude = l.longitude