У меня есть две таблицы table1
= записи, table2
= дубликаты. Обе таблицы содержат переменное количество столбцов в любой момент времени, и оба они содержат одинаковые столбцы, за исключением table2
, имеющих дополнительный столбец ID
... Обе таблицы содержат столбец user_id
. Данные поступают из импорта CSV. Если user_id
уже существует в table1
, он вставляется в table2
.Сравнение данных между двумя таблицами MySQL с PHP
С table2
Мне нужно иметь возможность захватить все строки и распечатать их в таблице, без проблем. Часть, которую мне сложно определить ... Для каждого столбца в table2
, который печатается, мне нужно проверить, соответствуют ли данные (на основе user_id
) данные в table1
и как-то отметить это ... (возможно, различный цвет фона на ячейку таблицы)
Пример:
table1
содержит строку:
user_id | user_name
-------------------
2342342 | some name
и table2
:
user_id | user_name
-------------------
2342342 | different name
, то выход будет:
-----------------------------------------
|2342342 | *flag* different name *flag* |
-----------------------------------------
Любая идея о том, как я мог бы сделать эту работу? Если это помогает, я создаю это приложение с помощью Codeigniter.
Это действительно близко к тому, что я пытаюсь сделать! за исключением ... Я просто должен быть в состоянии сказать, может ли этот столбец «is_different» - так я могу просто выделить просто «имя пользователя» (или любой другой столбец), это даже возможно? Другое дело, что число может измениться в любое время, предложите ли вы сначала создать запрос с помощью php или есть ли способ сделать «IF (table2.user_name! = Table1.user_name, 1, 0) AS is_different» для каждого столбца динамически с mysql? большое спасибо! – mike
Если я правильно понял вас; Конечно, вы можете сравнить любые столбцы с тем же методом. Единственное, что имеет значение, это то, что идентификаторы сравниваемых строк равны (очевидно). Я отредактировал свой ответ, чтобы показать вам, как добавить несколько тестов в один запрос. –
ах ... я вижу, теперь имеет смысл. благодаря! – mike