我有一个巨大的表格,里面装满了数字(1001001..1009999),在那个区域肯定有一堆未使用的数字。所以,我可以通过执行以下操作来返回所有这些数字:
SELECT MY_IDENTIFIER FROM MY_TABLE这将返回所有使用过的数字。我怎样才能从那个表中获得未使用的号码列表呢?我在服务器端(rhino/jaxer)使用JavaScript,我的数据库是Oracle10g。
谢谢,
发布于 2010-12-21 06:46:57
以下查询将为您提供所需的信息:
SELECT seq_num
FROM (SELECT (lvl + &&v_from - 1) seq_num
FROM (SELECT *
FROM ( SELECT LEVEL lvl
FROM DUAL
CONNECT BY LEVEL <= (&&v_to - &&v_from) + 1)))
WHERE seq_num NOT IN (SELECT my_identifier FROM my_table);将&&v_to和&&v_from替换为您的边界编号。
参考:http://oraqa.com/2006/01/20/how-to-generate-sequence-numbers-between-two-numbers/
发布于 2010-12-21 06:45:52
Javascript与此并不相关,不是吗?几年前我也做过类似的事情。
我有一个表,所有的数字都在一个范围内,然后将这两个表连接起来,并选择那些不能连接的数字。负选择。
就像这样
select nr bulk collect into nrs1 from tbl1 where nr not in
(select nr from tbl2);https://stackoverflow.com/questions/4494602
复制相似问题