如何修改SQL查询仅获取captain角色对应的邮箱数据?
调整SQL查询仅返回Captain角色数据
要让查询只返回Captain角色对应的邮箱数据,只需修改CTE里的WHERE条件,同时修正原语句中的角色拼写错误(captian应为captain),修改后的完整SQL如下:
WITH t as( SELECT a.Id, a.Name, a.Description, b.Title, c.Role FROM aTable AS a LEFT JOIN bTable AS b ON a.Id=b.uuid LEFT JOIN cTable AS c ON b.uuid=c.roleId WHERE c.role='captain' -- 筛选仅Captain角色,修正拼写错误 GROUP BY a.Id) SELECT t.Id, t.Name, t.Description, t.Title, t.Role, d.Email FROM t LEFT JOIN dTable AS d ON t.Id=d.Guid
核心改动就是把原WHERE子句的c.role='major' OR c.role='captian'替换为c.role='captain',这样CTE只会保留Captain角色的记录,最终查询就只会返回对应角色的邮箱信息。
内容的提问来源于stack exchange,提问作者DashenkaMIMIMI
相关产品推荐
相关产品推荐

