根据ip地址对应出地址

fengyqf 2013-04-24 02:13:41
有两个表,一个是ip地理位置数据库 `ip`,如下
"start" "end" "s_s" "e_s" "address" "c"
"30212096" "30218751" "1.205.0.0" "1.205.25.255" "贵州省遵义市" "电信"
"30218752" "30219007" "1.205.26.0" "1.205.26.255" "贵州省遵义市习水县" "电信"
"30219008" "30227199" "1.205.27.0" "1.205.58.255" "贵州省遵义市" "电信"
"30227200" "30227455" "1.205.59.0" "1.205.59.255" "贵州省贵阳市" "电信"
"30227456" "30244863" "1.205.60.0" "1.205.127.255" "贵州省遵义市" "电信"
....

另有一表 `users`,其中一列地ip地址
"email" "ip_s" "ip"
"bbb@gmail.com" "123.119.131.153" "2071430041"
"ccc@cpu.edu.cn" "222.190.112.226" "3737022690"
"ddd@163.com" "124.128.217.114" "2088819058"
"eee@qq.com" "116.226.65.241" "1960985073"
......


现在需要查出第二张表 `users`里ip对应的地理地址,请问是否可以使用一条语句实现?
...全文
94 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
fengyqf 2013-04-24
  • 打赏
  • 举报
回复
尝试了半天 > < 联用,连接三个表实现join,越写越复杂,结果是执行不动。 原来可以在join里使用between 感谢版主!
fengyqf 2013-04-24
  • 打赏
  • 举报
回复
引用 1 楼 ACMAIN_CHM 的回复:
select * from users u,ip i where u.ip between i.start and i.end
语句还能这样写,帅呆! 版主老大太彪悍了! 一直在想怎么join连接,但失败了。
wwwwb 2013-04-24
  • 打赏
  • 举报
回复
select A.*,B.* from users A INNER JOIN ip B ON A.ip between B.start and B.end
ACMAIN_CHM 2013-04-24
  • 打赏
  • 举报
回复
select * from users u,ip i where u.ip between i.start and i.end

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧