如果后续匹配不存在,SQL选择行



我有一个示例SQL查询,返回如下结果:

到达时间状态tbody> <<tr>BCDF
CLIENT REQUESTDATE COUNTRY
2019-04-01澳大利亚2020-03-15关闭
2020-02-12德国2021-05-03关闭
2019-10-21意大利2020-03-06关闭
2019-09-11英国2020-03-01关闭
EEE2020-01-30荷兰2020-03-23销售
2019-06-10南非2020-02-15关闭
G td> 2019-08-26卢森堡2020-08-25关闭
终极战士2019-04-09印度2021-03-21销售
终极战士2019-10-10印度2020-10-12关闭
终极战士2020-10-14印度2021-09-12跟进

使用别名,您需要两次连接到同一个请求表,一个closedR包含已关闭的请求,而subsequentR包含日期较大的任何内容。

SELECT ...
FROM Clients C
JOIN Request closedR
ON closedR.requestClientEventId=C.id
AND closedR.status="Closed"
LEFT JOIN Request subsequentR
ON subsequentR.requestClientEventId = C.id
AND subsequentR.requestDate > closedR.requestDate
WHERE subsequentR.id IS NULL

LEFT JOIN/WHERE .. IS NULL允许你找到任何不匹配的。

最新更新