mysql - 如何使用 MySQL INNER JOIN 显示可能的空字段
问题描述
我正在尝试使用 MySQL SELECT 和 INNER JOIN 显示空字段
以下是表 1 (tbl_request) 的属性
requestID, requestTitle, requestRemarks
以下是表 2 (tbl_event) 的属性
eventID, status, image, requestID
状态为 1(已批准)或 2(已拒绝)
如果我想显示它是否被批准,查询将是
SELECT * from (tbl_event INNER JOIN tbl_request on tbl_event.requestID = tbl_request.requestID) where tbl_event.status = 1;
如果我想显示尚未批准/拒绝的事件列表(意味着不存在),查询会是什么?
我想要得到的结果是:
requestID requestTitle requestRemarks eventID status image
5 Volleyball sport1
9 Swimming sport2
11 Hiking sport3
解决方案
您可以将其设为外部联接,然后检查外部联接表是否没有记录
SELECT *
FROM tbl_request
LEFT JOIN tbl_event
ON tbl_event.requestID = tbl_request.requestID
WHERE tbl_event.requestID IS NULL;
推荐阅读
- python - 参数化自定义类型定义 Python Typing
- arrays - 如何在 Hive 中提取嵌套的 JSON 对象
- react-native - setState 更改在更改对象属性时不可靠
- javascript - JavaScript:如何让数组中的两个元素等于任何给定的数字
- r - 在一个图中绘制两个变量,但在 seq.default(range[1], range[2], 'from' 的长度必须为 1
- python - 按python中的数据分组后设置的列名
- sql - 如何检查表中的数据集中是否存在所有数组元素
- docker - 运行带有“过期”构建参数的 docker 映像的 GCP VM 实例
- palantir-foundry - 通过 Foundry's Slate 中的“文件导入”小部件导入的文件是否有大小限制?
- javascript - 如何在 jest/create-react-app 中实现常见的单元测试日志记录最佳实践?