gpt4 book ai didi

sql - 列出参与多个项目的员工姓名

转载 作者:行者123 更新时间:2023-12-04 22:34:25 25 4
gpt4 key购买 nike

有两个表与此相关。 Workon 和员工。这两个表的内容是员工的 EMPID NAME SALARY DID(部门 ID)和 PID EMPID HOURS from work on。我写的SQL是

select e.name, w.pid
from employee e, workon w
where e.empid = w.empid
group by e.name, w.pid, w.empid
having count (e.name) > 1
order by w.pid

我一直在试图弄清楚为什么这段代码不会给我从事多个项目的员工。请帮我弄清楚我做错了什么。

最佳答案

您的分组依据为每个项目的每个员工返回一行,根据定义,这永远不会超过 1 行

下面的 sql 应该可以工作

警告:我不确定这将如何影响服务器使用的性能,风险自负

以下将返回每个员工每个工作的 1 行,但仅限于具有超过 1 个工作记录的员工(因此,如果员工有 5 个工作记录,您将获得 5 行具有相同的 e.name 和 5 个不同的 w.pid 值)

select e.name, w.pid
from employee e, workon w
where e.empid = w.empid
and e.empid in (
select w.empid
from workon w -- there was a typo here originally
group by 1
having count (*) > 1
)
order by e.name, w.pid

关于sql - 列出参与多个项目的员工姓名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13386890/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com