mysql - 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 |
谢谢你。
解决方案
试试这个查询,
select ID, Name
from USER_TABLE UT
where ID not in (select ID from ATTENDANCE_TABLE where date = '2019-02-18')
推荐阅读
- javascript - 如何在从单独的文件加载自定义 javascript 之前从反应中加载所有提取
- python - 将文件名的标题添加到csv
- python - 如何在 Python 中将 20 只海龟放在一个圆圈上?
- google-apps-script - Google Apps 脚本执行但不会向 SMS 服务发送请求
- swift - SpriteKit 精灵在碰撞时闪烁
- python - 非 ASCII 的比较仅在 IDLE 中有效
- node.js - Node 中的 http 和 https 模块有什么作用?
- javascript - Vue.js - 如何按对象获取 JSON 数据对象?
- json - 如何将 JSON 文件从后端传递到前端
- python - panda DatetimeIndex 返回一个浮点值而不是 Integer