2014-11-08 75 views
0

我试图找到两个不同的表 相同的价值观可以说table1的属性是行:ID,姓名,考勤表2:ID,num_of_abs搜索并比较两个表

我需要确定哪些值在表1的id列中,在表2的id列中是相同的。然后在表2的id列中也存在表id的id值的情况下显示一条消息到目前为止,我能够编写下面的代码:

$myData = mysql_query($sql,$con); 
$mysecData = mysql_query($sqll,$con); 
while($abs=mysql_fetch_array($mysecData)) { 
    switch ($students=mysql_fetch_array($myData)) { 
    case $abs['id'] == $students['Id'] : 
    echo $students['Id']; 
    break; 
    default: 
    echo "id is not the same"; 
} 

只有当值位于每个表的同一行时,代码才有效。如果两个表中都存在这些值,但不在同一行中,则显示消息“id不一样”。请问有谁知道如何解决这个问题?

感谢

+0

我无法真正理解你在找什么,但你几乎可以肯定地做出一个单一的SQL查询来做你正在寻找的东西,而不是自己做检查。让你的数据库照顾你为你做的工作。 – andrewsi 2014-11-08 19:38:39

回答

0

如果加入从2个表中的数据比你会对id列匹配的记录。这将是从两个表中获取匹配记录的最简单方法。以下是基于帖子中有限信息的示例:

SELECT t1.id, t1.name, t1.attendance, t2.id, t2.num_of_abs 
FROM table1 AS t1 
JOIN table2 AS t2 
ON t1.id = t2.id 

我希望能帮助您朝正确的方向发展。