有2张表
一个表(A表)的一个字段包含IP信息 还有个表(B表)是一个IP 对应一个信息
2张表都有一个IP字段 可是A表的IP有可能和B表的IP是同一个IP段 就是说A表
字段1 字段2
杀人 192.168.0.2
放火 192.168.9.3
抢劫 129.99.99.3B表
字段1 字段2
店1 192.168.0.88
店2 192.168.9.88
店3 129.99.99.88我现在需要的结果是这样
字段1 字段2 字段3
杀人 192.168.0.2 店1
放火 192.168.9.3 店2
抢劫 129.99.99.3 店3
一个表(A表)的一个字段包含IP信息 还有个表(B表)是一个IP 对应一个信息
2张表都有一个IP字段 可是A表的IP有可能和B表的IP是同一个IP段 就是说A表
字段1 字段2
杀人 192.168.0.2
放火 192.168.9.3
抢劫 129.99.99.3B表
字段1 字段2
店1 192.168.0.88
店2 192.168.9.88
店3 129.99.99.88我现在需要的结果是这样
字段1 字段2 字段3
杀人 192.168.0.2 店1
放火 192.168.9.3 店2
抢劫 129.99.99.3 店3
create table B(字段1 varchar(20),字段2 varchar(20))insert A select '杀人','192.168.0.2'
union all select '放火','192.168.9.3'
union all select '抢劫','192.168.99.3'insert B select '店1','192.168.0.88'
union all select '店2','192.168.9.88'
union all select '店3','192.168.99.88'
union all select '店4','192.168.10.88'select A.字段1,A.字段2,字段3=B.字段1 from A left join B
on left(A.字段2,len(A.字段2)-len(right(A.字段2,charindex('.',reverse(A.字段2)+'.')-1))-1)=
left(B.字段2,len(B.字段2)-len(right(B.字段2,charindex('.',reverse(B.字段2)+'.')-1))-1)drop table A,B字段1 字段2 字段3
-------------------- -------------------- --------------------
杀人 192.168.0.2 店1
放火 192.168.9.3 店2
抢劫 192.168.99.3 店3(所影响的行数为 3 行)
试试