我一直试图解决这个问题几个小时。 我想把最大的员工拿走,这就是我完成的工作。但由于某种原因我得到语法错误
select title, count(A.employeeN)
from Project P, Allocation A
group by P.projectN
Having count(employeeN) =
(select max(A.employeeN)
from (select count(A.employeeN) as employeeN_nbrofemployee
from Project P, Allocation A
where P.projectN = A.projectN
group by P.projectN));
下一个是列出员工(员工N,姓名,总日)及其总工作天数。 (总天数和employeeN在构造函数中)
答案 0 :(得分:1)
就像这里的一个例子一样,这个查询可能看起来如何使用当前(在过去20年内)加入语法和一些格式。
select title
, count(A.employeeN)
from Project P
join Allocation A ON P.projectN = A.projectN
group by P.projectN
Having count(employeeN) =
(
select max(x.employeeN_nbrofemployee)
from
(
select count(A.employeeN) as employeeN_nbrofemployee
from Project P
join Allocation A ON P.projectN = A.projectN
group by P.projectN
) x --<<---- notice the alias here.
);
我现在的问题是你真的试图找到employeeN值的计数=特定雇员N的值的行吗?这似乎是一个逻辑问题,但我不确定你要做什么。
答案 1 :(得分:0)
您需要为嵌套的SELECT:
添加别名select title, count(A.employeeN)
from Project P, Allocation A
group by P.projectN
Having count(employeeN) =
(select max (B.employeeN_nnrofemployee)
from (select count(A.employeeN) as employeeN_nbrofemployee
from Project P, Allocation A
where P.projectN = A.projectN
group by P.projectN) B);
至少应该对语法错误进行排序......