请教:一个SQL问题

[复制链接]
查看11 | 回复9 | 2011-4-13 12:09:01 | 显示全部楼层 |阅读模式
TABLE1中有两个字段:BEGIN和END (数字)
现在想得到BEGIN和END之间的所有数,用SQL如何写?
BEGINEND
0100
我现在就是想列出0-100之间所有的数,请问该如何写SQL(不用过程)
回复

使用道具 举报

千问 | 2011-4-13 12:09:01 | 显示全部楼层
select * from table1 where begin > 0 and end < 100 ;
回复

使用道具 举报

千问 | 2011-4-13 12:09:01 | 显示全部楼层
這樣也行
select * from table1 where column between begin and end
這樣就從begin 取到 end 了
回复

使用道具 举报

千问 | 2011-4-13 12:09:01 | 显示全部楼层
select seq from (
select rownum seq from all_objects
)
where seq between (select 11 from dual) and (select 100 from dual)
回复

使用道具 举报

千问 | 2011-4-13 12:09:01 | 显示全部楼层
谢谢accelerator
我要的就是这种效果,太感谢了!!
回复

使用道具 举报

千问 | 2011-4-13 12:09:01 | 显示全部楼层
不好意思,好像还是有问题
TABLE1中会有多条记录
BEGINEND
1 100
200 300
400 600
要列出 1-100,200-300,400-600之间的数
而且 rownum seq from all_objects 当数量大的时候就不行了
回复

使用道具 举报

千问 | 2011-4-13 12:09:01 | 显示全部楼层
rownum seq from all_objects,all_objects
回复

使用道具 举报

千问 | 2011-4-13 12:09:01 | 显示全部楼层
最初由 Blueway 发布
当数量大的时候就不行了 [/B]

搞个迪卡尔积出来, 遇事多想想


回复

使用道具 举报

千问 | 2011-4-13 12:09:01 | 显示全部楼层
小于all_objects 的总行数
如要很大,可以建立一有很多很多行的表代替 all_objects
回复

使用道具 举报

千问 | 2011-4-13 12:09:01 | 显示全部楼层
改造一下如何:
select 200+seq-1 from (
select rownum seq from all_objects
)
where seq<=300-200+1
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行