2016-05-21 3 views
2

У меня есть две таблицы со структурой, как этотбыстрый способ для сравнения двух таблиц

Table 1 
tid | population 
1 | 50 
2 | 55 
3 | 45 

Table 2 
tid | population 
1 | 50 
2 | 60 
3 | 40 

я должен сравнить эти две таблицы и выяснить, какие из них не изменилось (в данном случае я должен найти только три раза в день 1)

Я могу создать 2 массива для цикла, но так как каждая таблица имеет более 40 тыс. Записей. Я ищу проще, быстрее!

Редактировать. Похоже, я должен использовать соединения. Я попытался сделать следующее. Пс. Таблица 1 название 2016-5-20 Таблица 2 Название 2016-05-21

$sth = $conn->prepare('SELECT `2016-5-20.tid`, `2016-5-20.population` 
FROM `2016-5-20` 
JOIN `2016-05-21` ON 2016-5-20.tid = 2016-05-21.tid AND 2016-5-20.population = 2016-05-21.population'); 
$sth->execute(); 
$result2 = $sth->fetchAll(); 
print_r($result2); 
+0

Ваш запрос = ответ запрос –

ответ

0
select `t1`.`id` from `table1` as `t1`,`table2` as `t2` 
where `t1`.`id`=`t2`.`id` and `t1`.`population`<>`t2`.`population` 

Fiddle

4

Вы могли бы просто присоединиться к ним:

SELECT t1.tid, t1.population 
FROM table1 t1 
JOIN table2 t2 ON t1.tid = t2.tid AND t1.population = t2.population 
+0

Моя таблица 1 названа: 2016-5-20 И таблица 2 названа: 2015-05-21 Я создал этот код с вашим ответом. Но, к сожалению, это порождает ошибку. Примечание: я отредактирую свое оригинальное сообщение с помощью этого кода, чтобы вы могли прочитать. :) –

Смежные вопросы