首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查找EId和EName

查找EId和EName
EN

Stack Overflow用户
提问于 2020-03-07 22:13:23
回答 1查看 110关注 0票数 0

这是一个模式-

代码语言:javascript
复制
CREATE TABLE EMp(eId integer PRIMARY KEY, Name nvarchar(max), age integer);

CREATE TABLE Project(pId integer PRIMARY KEY, pName nvarchar(max), ploc nvarchar(max));

CREATE TABLE EmpProject(eid integer, FOREIGN KEY (eid) REFERENCES EMp(eid), pid integer FOREIGN KEY (pid) REFERENCES Project(pId), hrs integer);

我需要找到在孟买工作的至少3个项目的雇员的姓名和ID。

我试过很多选择,最后一个是-

代码语言:javascript
复制
select eid, Name from EMp E, Project P, EmpProject EP where  
EP.pNum = P.pId and P.ploc <> 'Mumbai' 
and E.eId in (select eno from EmpProject group by eno having count(*) >=3 )

提前谢谢你。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-07 22:18:48

加入表,按雇员分组,并在HAVING子句中设置条件:

代码语言:javascript
复制
select E.eid, E.Name 
from EMp E 
inner join EmpProject EP on EP.eid = E.eid
inner join Project P  on P.pid = EP.pid
group by E.eid, E.Name
having count(distinct P.pid) >= 3 and sum(case when P.ploc = 'Mumbai' then 1 else 0 end) = 0
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60582694

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档