求B表中不包含A表的结果

淹死的鱼 2012-05-23 09:19:52
求教各位大侠,A表中的数据在B表中某一区段存在,我现在想取出的结果是,属于B表区段之间,在A表没有出现的数据!

A表如下:
Name Num
大点 100000
多点 100012
黑点 23976
垄断 465365
起点 34879080
开点 2190
......


B表如下:
Stationname BeginNum EndNum
幅度 100000 103940
空点 2134 24000
浮点 200000 580000
卡的 14000023 76234323
......


取出的结果如下:

StationName NUM
幅度 100001
幅度 100002
幅度 100003
幅度 100004
幅度 100005
......
幅度 100011
幅度 100013
幅度 100014
......
幅度 103940
空点 2134
空点 2135
空点 2136
空点 2137
空点 2138
空点 2139
空点 2140
......
空点 2189
空点 2191
空点 2192
......
空点 23977
空点 24000
...全文
173 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
淹死的鱼 2012-05-28
  • 打赏
  • 举报
回复
这些方法都不行的,有没有可以用数组的方式去做啊!
怪叔叔_Wilson 2012-05-25
  • 打赏
  • 举报
回复
直接用Minus关键字就可以导出数据!希望能够帮到你吧!
coolkisses 2012-05-24
  • 打赏
  • 举报
回复
提供一个思路
拆分表B
例 范围 1 ~100 转为 100 行记录
再与 表A 关联,过滤出 没有关联上的剩余结果

难点,如何拆分表B
建议,可以考虑 connet by 的语法
changjz 2012-05-24
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

用得着用游标么,给你个1000万行的数据,你用游标慢慢找吧,
有两种方法
1 集合
select id from table_a
minus
select id from table_b
2 关联
select id
from table_a,table_b
where b.id(+)=a.id
and b.id is null;
[/Quote]
你根本没搞明白他的是什么样的表结构。。。。
bayueguihuaxiang 2012-05-23
  • 打赏
  • 举报
回复
使用游标和循环吧
Northgale 2012-05-23
  • 打赏
  • 举报
回复
用得着用游标么,给你个1000万行的数据,你用游标慢慢找吧,
有两种方法
1 集合
select id from table_a
minus
select id from table_b
2 关联
select id
from table_a,table_b
where b.id(+)=a.id
and b.id is null;
淹死的鱼 2012-05-23
  • 打赏
  • 举报
回复
如果用游标或者循环应该怎么写啊
changjz 2012-05-23
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
使用游标和循环吧
[/Quote]

正解
简即美 2012-05-23
  • 打赏
  • 举报
回复
select b.*
from b left join a on a.num=b.num and a.name=b.name
where b.name is null
淹死的鱼 2012-05-23
  • 打赏
  • 举报
回复
我是新手,请能提供下写法

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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