请帮忙! 我有 3 张 table :
employee,
assign,
vehicle.
只有 2 名员工可以占用 1 辆车。我需要选择所有不拥有任何车辆的员工。
查询:
select EID,
Employee_name
from employee
where EID not in (
select user1
from assign
)
and EID not in (
select user2
from assign
)
如果“user1”或“user2”中的所有单元格都已填充,则此查询有效。 如果分配表的“user1”或“user2”为空值
分配表值
查询输出为空
查询结果
如果填写一个值,它将返回所有EID和employee_name(s) 不在指定表的 User1 和 User2 中。也就是说,如果所有 user1 和 user2 都已填满,则它可以正常工作。如何重新创建此查询,使其显示所有可用员工,无论 allocate.user1 或 allocate.user2 是否为空。
最佳答案
您可以使用不存在
:
select eid,
employee_name
from employee e
where not exists (
select 1
from assign a
where e.eid in (a.user1, a.user2)
);
关于mysql - MySQL 查询无结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42185800/