Mysql 从单个查询中获取不同列的步骤
考虑下表中存储的有关项目和成员的数据。 项目(id、标题) 成员(id、名称、项目id) 生成一份报告,列出所有项目以及正在处理这些项目的成员。同时列出尚未分配任何员工的项目,以及可作为免费资源使用的员工 桌子-Mysql 从单个查询中获取不同列的步骤,mysql,sql,Mysql,Sql,考虑下表中存储的有关项目和成员的数据。 项目(id、标题) 成员(id、名称、项目id) 生成一份报告,列出所有项目以及正在处理这些项目的成员。同时列出尚未分配任何员工的项目,以及可作为免费资源使用的员工 桌子- Projects(id, title) Members(id, name, project_id) 当我应用外部联接并得到所有答案时,是否有人可以优化查询。我需要根据所需问题分隔列 Select p.title, m.id From projects p FULL O
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);
在上使用
,而不是在哪里使用。@jarlh我想你可以在这里大胆回答。@TimBiegeleisen,可能吧。从来没有读过这个问题,只是注意到了上面的缺失。这是什么RDBMS?