繁体   English   中英

如何比较两个相同结构的mysql表

[英]How to compare two mysql tables of the same structure

我有两个具有相同结构的表:

表格1

---------------------------------------       
id    long        lat          adresse
---------------------------------------
1     8,767676    50,55599999  aaaaaa
2     3,77777777  40,55599999  xxxxxx
-
-
---------------------------------------

表2

---------------------------------------     
id    long        lat          adresse
---------------------------------------
1     3,77777777  40,55599999
2     
-
-
---------------------------------------

我想比较Table 1Table 2php/mysql并显示adresse不具有相同的数据行的latlongTable 2

在示例中,显示: aaaaaa

要从表1中获得表2中不存在的对的地址,可以使用NOT IN运算符,如下所示:

SELECT address
FROM t1
WHERE (longitude, lat) NOT IN (SELECT longitude, lat FROM t2);

这是一个SQL Fiddle示例。

您可以使用'join'

query = "SELECT table_1.address
     FROM table_1
     JOIN table_2
     ON table_1.id = table_2.id
     WHERE table_1.lat != table_2.lat
     AND table_1.longitude != table_2.lat";

$mysqli = @new mysqli($host, $username, $password, $database);

if($result = $mysqli->query($query)){
    var_dump($result);
}

?>

您还可以使用如下sub-query

<?php

query = "SELECT address
         FROM table_1
         WHERE (long, lat) NOT IN (SELECT long, lat FROM table_2)";

$mysqli = @new mysqli($host, $username, $password, $database);

if($result = $mysqli->query($query)){
    var_dump($result);
}

?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM