我有一个示例SQL查询,返回如下结果:
CLIENT | REQUESTDATE | COUNTRY | 到达时间状态2019-04-01 | 澳大利亚 | 2020-03-15 | 关闭 | B
---|---|---|---|---|
2020-02-12 | 德国 | 2021-05-03 | 关闭 | |
2019-10-21 | 意大利 | 2020-03-06 | 关闭 | |
2019-09-11 | 英国 | 2020-03-01 | 关闭 | |
EEE | 2020-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
允许你找到任何不匹配的。