Как сравнить данные двух таблиц? - PullRequest
0 голосов
/ 10 января 2011

Привет, у меня есть старая таблица и новая таблица с тем же индексом / данными. ТАБЛИЦА 1 и ТАБЛИЦА 2

но TABLE1 имеет больше данных, чем TABLE2. это было поддержано кем-то, и я не знаю, как это случилось. поэтому мой вопрос - как мне сравнить эти две таблицы и найти, какие данные отсутствуют в TABLE2? там почти 200000 данных, поэтому ручное выполнение невозможно ...

Ответы [ 4 ]

0 голосов
/ 10 января 2011

Решение без вложенного запроса:

select TABLE1.id from TABLE1 left join TABLE2 on TABLE1.id = TABLE2.id where TABLE2.id is null
0 голосов
/ 10 января 2011

Вы имели в виду что-то вроде этого:

SELECT * FROM TABLE1 t1 WHERE NOT EXISTS(SELECT * FROM TABLE2 WHERE t1.id == t2.id)
0 голосов
/ 10 января 2011

По тому же индексу, я надеюсь, вы имеете в виду, что они имеют первичный ключ?

ВЫБРАТЬ * ИЗ ТАБЛИЦЫ1, ГДЕ НЕ ВХОДИТЕ имя пользователя (ВЫБЕРИТЕ имя пользователя ИЗ ТАБЛИЦЫ2)

0 голосов
/ 10 января 2011

в PHP:

http://us.php.net/manual/en/function.array-diff.php

в SQL:

SELECT * FROM TABLE1 WHERE id {NOT} IN ( SELECT id FROM TABLE2 )

в зависимости от критериев сравнения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...