想了好久了,还是想不出怎么搞定这个SQL语句,大家帮帮我吧

endisoft 2006-07-26 05:12:19
问题是这样的
有三个表a:ip(bigint),id(主码)
b:ip1(bigint),ip2(bigint),country(varchar(200))
storeip:ip(bigint),country(varchar(200))
数据如下:
a:
ip id
3 1
4 2
6 3
4 4
3 5
30 6
32 7

b:
ip1 ip2 country
3 5 usa
6 7 jp
8 40 china

storeip:
ip country
3 usa
7 jp
40 china


我是要把a 表的数据存入到storeip表里,但是a 表中的数据,不能重新插到storeip表里
经过处理之后,要在storeip表里出现以下记录

storeip
ip country
3 usa
7 jp
4 usa
6 jp
30 china
32 china

先谢谢大家了
...全文
122 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
endisoft 2006-07-26
  • 打赏
  • 举报
回复
但是好像楼上写的也不正确呀!
怎么id跟ip比较呀
ip=a.id
不能这样比较吧
endisoft 2006-07-26
  • 打赏
  • 举报
回复
是少了一个,不好意思
昵称被占用了 2006-07-26
  • 打赏
  • 举报
回复
insert storeip
select a.ip,b.country
from a,b
where a.id>=b.ip1
and a.id<=b.ip2
and not exists (
select 1 from storeip
where ip=a.id
)
昵称被占用了 2006-07-26
  • 打赏
  • 举报
回复
楼主写错了吧

40 china
怎么没了?
endisoft 2006-07-26
  • 打赏
  • 举报
回复
说明一点ip1,ip2是一个地址段,实际上这是一个IP地址段

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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