想根据iislog表查询出来的IP地址,得出对应的归属地,请问这语句该怎么写啊?
如果没有关联,可以这么写
select g.ip_location, g.ip_isp from ips_global g left join iislog l on l.id=1 where g.ip_start<=l.client_ip and g.ip_end >= l.client_ip
id是主键,可以是任意条件,也就是你查询IP地址的条件。这是没有关联的时候查询。
select clientip,(select ip_location from ips_global where ip_startclientip) from iislog
ip地址需要转化成同样格式的数字。
先进行连接操作后再查询。
select ip_location from iislog a inner join ips_global b on a.关联字段=b.关联字段
关联字段指的是这2张表是靠那个字段关联的
select clentip,ip_location from iislog a inner join ips_global b on a.关联字段=b.关联字段
关联字段指的是这2张表是靠那个字段关联的
请问这两张表有关联吗?
可以看下
select B.ClientIP A.ip_location A.ip_isp from ips_global A inner join iislog B on (B.ClientIP >ip_start And B.ClientIP <ip_end)(这里要写一个IP转换的方法)
select l.clientIp ,g.ip_location from iislog l,ips_global g where inet_aton(l.clientIp) between inet_aton(g.ip_start) and inet_aton(g.ip_end)
这两张表没有关联