Мне нужно выяснить какой-нибудь умный фрагмент MySQL, который позволит мне легко увидеть две таблицы: идентификаторы в таблице, если они существуют, или NULL, или пустые, если их нет.
У меня есть таблица пользователей и устаревшая таблица, и вне ручного сравнения я не могу понять, как заставить их отображаться в таблице вместе, чтобы я мог сравнить. Я бы хотел увидеть что-то вроде этого:
+----------------------------+
| user_id | email | uid |
| 14 | me@me.com | 26 |
| 16 | ug@ug.com | NULL |
+----------------------------+
Я знаю, что есть способ включить NULL или пустые значения, но я не уверен, что это такое. Вот мой ненормальный SQL-запрос, да, я знаю, что делать подвыборы внутри подвыборов ужасно:
select uid from users where mail IN (
select email from legacy_users where id NOT IN (
select sourceid from migrate_map_users
)
);
Здесь задействованы три таблицы, legacy_users => migrate_map_users => users
. Середина - просто m2m, который соединяет два. У legacy_users и пользователей есть столбец электронной почты. и их собственная версия идентификатора.
Спасибо всем!