PHP MYSQL 查询从两个表中获取

我是 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> 

';

}

令人惊讶的是,这会返回出勤表中存在的所有员工。请帮帮我


杨魅力
浏览 134回答 1
1回答

holdtom

id我打算进行查询以获取表staff_id中没有他们的所有员工attendance。为此,您不需要两个查询加上一些 PHP 逻辑。您可以使用以下命令在单个查询中获得所需的结果not exists:select s.*from staff swhere not exists (select 1 from attendance a where a.staff_id = s.id)
打开App,查看更多内容
随时随地看视频慕课网APP