首页 > 解决方案 > 加入一个可能为空的 SQL 表

问题描述

我有 3 张桌子。一张表包含一些问题。每个问题可以有多个标签:

在此处输入图像描述

问题可以有标签,也可以没有标签。我要做的是在选择所有问题时获取所有标签。问题是当我的标签表为空时,即使问题表有条目也不会返回任何结果。这是我的选择:

SELECT * FROM issues AS i INNER JOIN objects AS o ON i.related_id = o.related_id INNER JOIN labels AS l ON i.issue_id = l.issue_id WHERE i.tb_id = 2

当我删除标签 JOIN 时,我得到了预期的结果。但是当我尝试加入空标签表时,没有返回任何结果。所以最后有两种可能的情况:

  1. 标签表为空 -> 不返回问题的标签
  2. 标签表不为空 -> 将所有标签作为数组或对象返回(我不知道,我认为数组会更好)

所以你知道我在这里做错了什么吗?

标签: mysqlsqldatabaseselect

解决方案


推荐阅读