#php #mysql
#php #mysql
Вопрос:
Я ищу способ сравнить две таблицы и определить, какие строки отсутствуют в одной таблице. Эти две таблицы находятся на разных серверах MySQL.
Таблица 1 ---------------- Apple Майкрософт Google Таблица 2 ---------- Apple Google
Я хочу показать список элементов из таблицы 1, которые отсутствуют.
Ответ №1:
Есть несколько способов получить желаемый результат, если вы хотите использовать PHP, проще всего вот так:
$table1 = mysql_query("SELECT fieldname.....");
$table2 = mysql_query("SELECT fieldname.....");
$results_table2 = mysql_fetch_array($table2);
while($row = mysql_fetch_assoc($table2))
{
if(!in_array($row['fieldname'], $results_table2))
{
echo $row['fieldname'] ." not in both tables";
}
}
Возможно, даже работать с array_intersect
вместо цикла while.
$table1 = mysql_query("SELECT fieldname.....");
$table2 = mysql_query("SELECT fieldname.....");
$results_table1 = mysql_fetch_array($table1, MYSQL_ASSOC);
$results_table2 = mysql_fetch_array($table2, MYSQL_ASSOC);
$result1 = array_intersect($results_table1, $results_table2);
print_r($result1);
$result2 = array_diff($results_table1, $results_table2);
print_r($result2);
Ответ №2:
я думаю, вам следует выбрать все данные из таблицы 1 и поместить их в массив-table1 и сделать то же самое с таблицей 2, но для table2 поместите их в array-table2. после этого сравните два массива и отобразите данные, которых нет в array-table1 или в array-table2. Я надеюсь, что это поможет.