如何不包含?

yr9zkbsy  于 2021-08-09  发布在  Java
关注(0)|答案(2)|浏览(413)

我在作业中遇到了一个问题,写不出正确的问题。我已经做了好几天了,很快就要到期了。我试图显示所有不包含114和113(应用程序设计者)的雇员id的项目编号。查看表数据,我可以在不编写代码的情况下看到项目编号是15和18,但是我无法得到输出。此代码只输出除114和113名员工之外的所有内容。
问题是:
哪个项目不使用应用程序设计器?
这是我的密码:

> proc sql;
>         select distinct proj_num708, emp_num708
>     from asmnt708.assignment708
>     where emp_num708
>      not in (select distinct emp_num708 from asmnt708.assignment708 where emp_num708 in (114, 113));

这是我的代码输出:

这是我的表格数据:

首选输出:我的首选输出只是项目编号15和18

ghg1uchk

ghg1uchk1#

你可以用 not exists ```
select
proj_num708,
emp_num708
from asmnt708.assignment708 a
where not exists (
select distinct emp_num708
from asmnt708.assignment708 b
where a.proj_num708 = b.proj_num708
and emp_num708 in (114, 113)
);

ux6nzvsh

ux6nzvsh2#

我更喜欢在这里使用聚合方法:

SELECT proj_num708
FROM asmnt708.assignment708
GROUP BY proj_num708
HAVING SUM(emp_num708 = 15) = 0 AND SUM(emp_num708 = 18) = 0;

这将返回所有雇员15和18都没有出现在任何地方的项目。

相关问题