首页 > 解决方案 > 如何使用 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

标签: mysqljoinselect

解决方案


您可以将其设为外部联接,然后检查外部联接表是否没有记录

SELECT * 
FROM      tbl_request
LEFT JOIN tbl_event 
       ON tbl_event.requestID = tbl_request.requestID
WHERE     tbl_event.requestID IS NULL;

推荐阅读