考虑下表中存储的有关项目和成员的数据。项目(id,标题)成员(id,名称,project_id)生成报告以列出所有项目以及参与这些项目的成员。还列出尚未分配任何员工的项目以及可作为免费资源使用的员工。
表-
Projects(id, title)
Members(id, name, project_id)
有人可以优化查询,因为我应用了外连接并且我得到了所有答案。我需要根据所需的问题分隔列。
Select p.title, m.id
From projects p FULL OUTER JOIN
Members m
where p.id = m.project_id;
最佳答案
MySQL 不支持完全连接
。因此,请分两步执行此操作:
Select p.title, m.id
From projects p LEFT JOIN
Members m
ON p.id = m.project_id
union all
select null, m.id
from members m
where not exists (select 1 from projects p where p.id = m.project_id);
关于mysql - 从单个查询中获取不同的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59949706/