搜索并比较两个表的行

时间:2014-11-08 19:37:02

标签: php mysql

我试图在两个不同的表中找到相同的值 让我们说table1属性是:id,name,attendance和table2:id,num_of_abs

我需要确定表1的id列中的哪些值在表2的id列中是相同的。如果表的id值也存在于表2的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不相同"它出现了。有没有人知道如何解决这个问题?

由于

1 个答案:

答案 0 :(得分: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

我希望这有助于您找到正确的方向。