我是 PHP/MYSQL 新手。我有两张桌子。表员工有(id,全名),表出勤有(id,staff_id)。我打算进行查询以获取出勤表中 id 不为 Staff_id 的所有员工。下面是我的 PDO 代码:$att = $con->prepare('SELECT member_id FROM attendance');$att->execute();while ($att_fetch = $att->fetch()) {$absent = $con->prepare('SELECT * FROM members WHERE id != "'.$att_fetch['member_id'].'" ');$absent->execute();$absent_fetch = $absent->fetch();echo ' <tr> <td class="name" data-id="'.$absent_fetch['id'].'">'.ucwords($absent_fetch['fullname']).'</td> </tr> ';}令人惊讶的是,这会返回出勤表中存在的所有员工。请帮帮我
1 回答
holdtom
TA贡献1805条经验 获得超10个赞
id我打算进行查询以获取表staff_id中没有他们的所有员工attendance。
为此,您不需要两个查询加上一些 PHP 逻辑。您可以使用以下命令在单个查询中获得所需的结果not exists:
select s.*
from staff s
where not exists (select 1 from attendance a where a.staff_id = s.id)
- 1 回答
- 0 关注
- 133 浏览
添加回答
举报
0/150
提交
取消