如何使用php comap在sql中两个不同表的两个不同colomns?

时间:2018-02-23 03:55:42

标签: php mysql

我使用此代码从表'empdet'获取数据并将它们插入另一个表'check update'。 我想比较这两个表中的两个colomns,并在表'empdet'中回显不同的colomn

ss.php

  <?php
 require "init.php";
$sql = "SELECT * FROM empdet";
$result = $con->query($sql);

if ($result->num_rows > 0) {
    // output data of each row

    while($row = mysqli_fetch_assoc($result))
        {
            echo "id: " . $row["id"]. " - Employeeid: " . $row["Employeeid"]. " " . $row["last_update"]. "<br>";
                $sqls = "INSERT INTO Check_Update (Employeeid, Schduleid, Check_update)
                VALUES ('".$row[Employeeid]."', '". $row[id]."', '".$row[last_update]."')";
                echo $sqls.'<br>';      
                $res =$con->query($sqls);

    }

}
 else {
    echo "0 results";
}

$con->close();
   ?>

数据库表 TABLE 1 empdet TABLE 2 check updaate

例如。 我想将表'empdet'的colomn'last_update'与表'check update'的colomn'check_update'进行比较,以便我可以找到这两个colomns之间的差异,并且我可以将该行放在表'empdate的回显中”。 比如,'empdat'的最后两行有一个变化,即'last_update',所以当我与colomn'check_update'进行比较时,它应该回显'empdat'的最后两行,它也应该更新最后两行'check_update'colomn。 我的问题是 1)如何比较两个表的两个colomns? 2)如何把它们回音? 3)如何在找到差异后更新'check_update'colomn?

我是mysql查询的初学者,任何人都可以帮我做这个吗?

1 个答案:

答案 0 :(得分:0)

Try this:
require "init.php";
$sql = "select e.id ,e.Employeeid,e.last_update from empdel AS e inner join Check_Update.* AS c on c.Scheduleid = e.id
where e.last_update != c.Check_Update";
$result = $con->query($sql);

if ($result->num_rows > 0) 
{
    // output data of each row
    while($row = mysqli_fetch_assoc($result))
    {
            echo "id: " . $row["id"]. " - Employeeid: " . $row["Employeeid"]. " " . $row["last_update"]. "<br>";

            $sqls =  "update Check_Update set Check_Update = '".$row['last_update']."' where Scheduleid = '".$row["id"]."' "
            echo $sqls.'<br>';      
            $res =$con->query($sqls);
    }
}
else 
{ 
   echo "0 results";
}

$con->close();