首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从另一个表中获取不存在于具有特定id的表中的数据

从另一个表中获取不存在于具有特定id的表中的数据
EN

Stack Overflow用户
提问于 2022-03-30 07:00:50
回答 1查看 45关注 0票数 -1

我是MySQL和PHP新手,我需要你的帮助。我已经为员工在公司做的签入制作了一个网络应用程序。我有一个名为tblemployees的SQL表,它具有员工的emp_id、名称、电子邮件id等。另一个表名为tblentries,包含每个雇员的所有条目和诸如ID之类的变量。emp_id、名称、日期、小时等。tblemployees的主键是emp_id,emp_id是tblentries表的外键。我想在我的网络应用程序中做一个表格,显示当天挂起的支票。更具体地说,到目前为止,我的代码是:

代码语言:javascript
复制
<div class = "pb-20" id = "tab">
                    <table class = "data-table table stripe hover nowrap">
                        <thead>
                            <tr>
                                <th class = "table-plus">Full Name</th>
                                <th>Email</th>
                                <th>1st Comp.</th>
                                <th>2nd</th>
                                <th>3rd</th>
                                <th>4th</th>
                                <th>5th</th>
                                <th>Department</th>
                                <th>Position</th>
                            </tr>
                        </thead>
                        <tbody>
                            <tr>
                                <?php 
                                    $sql = "SELECT tblemployees.Name, tblemployees.EmailId, tblemployees.Company1, tblemployees.Company2, tblemployees.Company3, tblemployees.Company4, tblemployees.Company5, tblemployees.Department, tblemployees.role FROM tblemployees LEFT JOIN tblentries ON tblentries.Date < '$todaysdate'";
                                    $query = mysqli_query($conn, $sql) or die(mysqli_error());
                                    while ($row = mysqli_fetch_array($query)) {
                                ?>  
                                <td class = "table-plus">
                                    <div class = "name-avatar d-flex align-items-center">
                                        <div class = "txt">
                                            <div class = "weight-600"><?php echo $row['Name']; ?></div>
                                        </div>
                                    </div>
                                </td>
                                <td><?php echo $row['EmailId']; ?></td>
                                <td><?php echo $row['Company1']; ?></td>
                                <td><?php echo $row['Company2']; ?></td>
                                <td><?php echo $row['Company3']; ?></td>
                                <td><?php echo $row['Company4']; ?></td>
                                <td><?php echo $row['Company5']; ?></td>
                                <td><?php echo $row['Department']; ?></td>
                                <td><?php echo $row['role']; ?></td>
                            </tr>
                            <?php } ?>  
                        </tbody>
                    </table>
                </div>

*“今天$today”是一个存储今天日期的变量。它的格式与tblentries.Date相同。

到目前为止,无论我尝试了什么,我都没有取得正确的结果。我做了一些测试应用程序的条目,我想要制作的表格显示了我为测试所做的条目的雇员的名字。(测试条目是在过去做的,所以它们的日期比$todaysdate小。我不知道用哪一种更好,怎么不在里面,不存在还是左联接?谢谢您:)

EN

回答 1

Stack Overflow用户

发布于 2022-03-31 07:18:13

找到了解决办法。我使用WHERE NOT EXISTS(),以便获取属于tblemployees表且在tblentries表中没有CURATE()条目的人的名称等:

代码语言:javascript
复制
$sql = "SELECT DISTINCT tblemployees.Name, tblemployees.EmailId, tblemployees.Company1, tblemployees.Company2, tblemployees.Company3, tblemployees.Company4, tblemployees.Company5, tblemployees.Department, tblemployees.role 
FROM tblemployees 
WHERE NOT EXISTS ( SELECT DISTINCT tblentries.emp_id, tblentries.Date FROM tblentries WHERE tblentries.emp_id = tblemployees.emp_id AND tblentries.Date = '$todaysdate')"; 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71672828

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档