[英]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 1
和Table 2
中php/mysql
并显示adresse
不具有相同的数据行的lat
和long
在Table 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.