【发布时间】:2022-01-15 03:22:30
【问题描述】:
我有下表 (employee_organization):
| ID | employee_id | organization_id | start_date | end_date |
|---|---|---|---|---|
| 1 | 77 | 16 | 2021-01-01 | 2021-06-30 |
| 2 | 11 | 23 | 2020-01-01 | 2021-05-27 |
| 3 | 77 | 16 | 2021-08-01 | 2021-08-31 |
| 4 | 77 | 16 | 2021-09-01 | NULL |
我需要一个查询来过滤掉employee_id = 77、organization_id = 16 和end_date is null 的记录。如果没有找到匹配的行,则返回带有max(end_date) 的行。因此,在上面的示例表中,应该只返回带有id=4 的行。
【问题讨论】:
-
到目前为止你尝试过什么?如果这些情况都不匹配
max也可以是这些值中的任何一个? -
我已经更新了示例表...如果行 ID=4 不存在,我希望结果行 ID=3。我希望这会有所帮助。
标签: mysql sql database subquery relational-database