Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle 查询以返回表不包含的寄存器';我没有_Oracle_Plsql - Fatal编程技术网

Oracle 查询以返回表不包含的寄存器';我没有

Oracle 查询以返回表不包含的寄存器';我没有,oracle,plsql,Oracle,Plsql,我有一个268注册表列表,我想看看其中哪些不在表中。我没有使用它,但它返回表中的其他寄存器,而不是我必须看到的寄存器 如果我有一张ID为1,2,3,4的桌子 我有一个ID为0,1,4,5,99的列表(用于构建where子句) 我需要构建一个返回数字0、5和99的PL/SQL查询 我尝试了以下方法: Select * from myTable where ids not in ('0,1,4,5,99') 但这将返回表的所有寄存器,而不仅仅是我想要的寄存器。我知道我需要将此列表作为参考来返回它,

我有一个268注册表列表,我想看看其中哪些不在表中。我没有使用它,但它返回表中的其他寄存器,而不是我必须看到的寄存器

如果我有一张ID为1,2,3,4的桌子

我有一个ID为0,1,4,5,99的列表(用于构建where子句)


我需要构建一个返回数字0、5和99的PL/SQL查询

我尝试了以下方法:

Select * from myTable where ids not in ('0,1,4,5,99')

但这将返回表的所有寄存器,而不仅仅是我想要的寄存器。我知道我需要将此列表作为参考来返回它,但我不知道如何操作。

这将适用于
Oracle 11g
。使用的想法是从博客文章中借用的

WITH numbers AS 
   (
     SELECT '0, 1, 4, 5, 99' numberstring FROM dual
   ),  
     registry AS
   (
     SELECT (column_value).getnumberval() register
     FROM numbers, xmltable(numberstring) 
   )     
SELECT r.register
FROM registry r
LEFT JOIN Table1 t ON r.register = t.id
WHERE t.id IS NULL;
见工作演示


字符串的解决方案

WITH strings AS 
   (
     SELECT      
      '"LOOKUP - 0971 - 2135",
       "LOOKUP - 0001 - 2424"' numberstring FROM dual
   ),  
     registry AS
   (
     SELECT (column_value).getStringVal() register
     FROM strings, xmltable(numberstring) 
   )     
SELECT r.register
FROM registry r
LEFT JOIN X_LANE t ON r.register = t.x_lane_gid
WHERE t.x_lane_gid IS NULL;

字符串字符串

显示到目前为止您得到的任何结果。“我需要构建一个返回数字0、5和99的PL/SQL查询。”-选择0、5、99;科蒙·丹,我们是一个相互支持的开发人员社区,不是一个免费的“为我编写脚本”服务。@PM77-1我已经更新了主要问题。。很抱歉我在SQL上太笨了,哈哈。我知道我需要在引用中添加另一个select,但我真的不知道如何执行it@Twelfth你是对的,但我真的不明白我提出的代码是如何帮助别人做这件事的。不管怎样,我已经用smth编辑了主要问题,我已经尝试过了,因为你说
PL/SQL
,我假设它是
Oracle
,对吧?我已经做了一些更改以满足我的需要,但我遇到了一些问题。你能帮助我吗?你就快到了。只需要在单个字符串周围使用