我在一个日志表中有订单,每个order_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 | | 在这个表中,查询将返回order_number 2255。
我查询了一个基于capture_id的列表,因为capture_id可以为同一个order_number具有多个值。对应于余尘的capture_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的其余部分的尝试,它目前没有返回任何内容。
发布于 2019-01-17 19:54:38
^这是我查询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;https://stackoverflow.com/questions/54243321
复制相似问题