首页 > 解决方案 > SQL - 选择某个日期不存在的用户

问题描述

我有两张桌子,一张供用户使用,另一张供他们出勤。我需要显示某个日期不在考勤表上的用户。

这是我的表:

USER_TABLE

| ID   | Name     |
-------------------
| 1    | John     |
| 2    | Peter    |
| 3    | Anne     |
| 4    | May      |
ATTENDANCE_TABLE

| ID   | Date       |
--------------------------------
| 2    | 2019-02-16 |
| 2    | 2019-02-17 |
| 2    | 2019-02-18 |
| 3    | 2019-02-17 |
| 4    | 2019-02-18 |

我需要选择“2019-02-18”上不存在的所有用户。

所以结果应该是这样的。

| ID   | Name     |
-------------------
| 1    | John     |
| 3    | Anne     |

谢谢你。

标签: mysqlsqljoinxamppunion

解决方案


试试这个查询,

select ID, Name
from USER_TABLE UT
where ID not in (select ID from ATTENDANCE_TABLE where date = '2019-02-18')

推荐阅读