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
Sql 查询其他查询输出中未包含的所有剩余结果_Sql_Oracle - Fatal编程技术网

Sql 查询其他查询输出中未包含的所有剩余结果

Sql 查询其他查询输出中未包含的所有剩余结果,sql,oracle,Sql,Oracle,我在日志表中有订单,每个订单id可以有多行,状态不同。我想返回一个包含附带事件但状态不为“完成”的订单列表。该表如下所示: order_number | event | status | capture_id ------------------------------------------- 1234 | fallout |complete | 95 1234 | fallout |in progress| 95 1234 | fallout

我在日志表中有订单,每个订单id可以有多行,状态不同。我想返回一个包含附带事件但状态不为“完成”的订单列表。该表如下所示:

order_number | event | status | capture_id
-------------------------------------------
    1234     | fallout |complete | 95
    1234     | fallout |in progress| 95
    1234     | fallout |Assigned| 95
    1234     | task    |           | 
    2255     | fallout |in progress| 10
    2255     | fallout |Assigned| 10
    2255     | task |         | 
在此表中,查询将返回订单号2255

我根据capture\u id查询了一个列表,因为capture\u id可以对同一订单号有多个值。与沉降物相对应的捕获id在整个订单中保持不变,但在本例中为95和10

SELECT* FROM RECORDS
WHERE event = 'fallout' and status  LIKE 'complete'
order by created desc;
^返回所有已完成的行

  SELECT * FROM  RECORDS
  WHERE capture_id NOT IN
   (SELECT capture_id FROM records
   WHERE event = 'fallout' and status  LIKE 'complete')
   order by created desc;
^这是我试图查询当前未返回任何内容的capture_id的其余部分

^这是我试图查询当前未返回任何内容的capture_id的其余部分

使用正确的空处理修复代码

SELECT *
FROM RECORDS
WHERE capture_id NOT IN
   (SELECT capture_id FROM records
   WHERE event = 'fallout' and status  LIKE 'complete' and capture_id IS NOT NULL)
order by created desc;

更多信息:

我认为第一个不起作用,因为“complete”也用于其他也会生成capture\u id的事件。我将尝试您的代码修复。@RanchDubois OK,我假设capture\u id在您的表中是唯一的。第二种方法肯定会起作用。感谢这个代码修复程序,所以查询返回了我需要的顺序,但没有关于辐射事件的完整状态,但我不知道为什么event='fallout'没有过滤掉其他结果,因为我仍然在将其他事件与结果混合,只是辐射事件。不管怎样,我刚刚在结果上添加了另一个AND子句,并对其进行了排序。非常感谢。