从三个表中提取数据;试图列出员工正在从事的项目的项目编号、项目名称和工作时间
Posted
技术标签:
【中文标题】从三个表中提取数据;试图列出员工正在从事的项目的项目编号、项目名称和工作时间【英文标题】:Pulling data from three tables; Attempting to list project number, project name, and hours worked for projects on which the employee is working 【发布时间】:2021-03-09 13:42:19 【问题描述】:当然这是来自一项任务,关于我是否应该列出员工标识符的说明尚不清楚,但我假设我应该(除非有人有其他解释?)。
这是我目前拥有的代码:
select e.ssn, p.pnumber, p.pname, count(hours) hours_worked
from works_on w
inner join project p on w.pno = p.pnumber
inner join employee e on w.essn = e.ssn
group by e.ssn, p.pnumber, p.pname
order by e.ssn, hours_worked desc;
我得到一个列表,其中显示了每个项目的所有员工,但 hours_worked 始终为 1。我试图从works_on 表中的 hours 列中计数,但它似乎不起作用。
提前感谢您的帮助!
【问题讨论】:
【参考方案1】:你可能需要总和
select e.ssn, p.pnumber, p.pname, sum(hours) hours_worked
from works_on w
inner join project p on w.pno = p.pnumber
inner join employee e on w.essn = e.ssn
group by e.ssn, p.pnumber, p.pname
order by e.ssn, hours_worked desc;
count 用于获取列中包含的非空值出现的次数
【讨论】:
哦,我是哑巴哈哈哈非常感谢你!被困在这个问题上两天了——绝对让我很开心。再次感谢您!以上是关于从三个表中提取数据;试图列出员工正在从事的项目的项目编号、项目名称和工作时间的主要内容,如果未能解决你的问题,请参考以下文章