Объединение двух таблиц с одинаковыми столбцами, но разными значениями - PullRequest
0 голосов
/ 31 марта 2020

Прежде всего, я видел этот вопрос раньше: ( Две таблицы с одинаковыми столбцами, но разными первичными ключами )

Но есть небольшая разница с моей проблемой.

Моя таблица выглядит примерно так:

Table 1
ID     Name    Salary
123    Mike    5000
129    David   4000
133    Linda   4500

Table 2
ID      Dept
0123    IT
0129    Tech Support
0133    Analytics

Я хочу объединить эти две таблицы на основе идентификатора, чтобы я мог видеть их идентификатор, имя и идентификатор отдела в таблице 1 и Таблица 2 относится к тому же человеку в действительности, но перед идентификатором в таблице 2 стоит 0, поэтому программа обрабатывает его как уникальное значение, дающее мне результат примерно такой:

Table result:
ID     Name    Dept
0123   null    IT
0129   null    Tech Support
0133   null    Analytics
123    Mike    null
129    David   null
133    Linda   null

Есть ли способ, которым я могу удалить "0" из идентификатора в таблице 2 или присоединиться к ним как-нибудь? У них нет других похожих столбцов, которые можно использовать. Предполагалось, что это будет так:

Table result
ID     Name    Dept
123    Mike    IT
129    David   Tech Support
133    Linda   Analytics

Спасибо и извините, если мой вопрос дублируется, я не могу найти такой, как у меня.

1 Ответ

1 голос
/ 31 марта 2020

Если последние 3 цифры ID в Table 2 являются значением ID, которое можно найти в Table 1, то вы можете просто взять значение Table 2.ID по модулю 1000 (чтобы убрать любые начальные цифры) и JOIN для этого:

SELECT t1.ID, t1.Name, t2.Dept
FROM `Table 1` t1
JOIN `Table 2` t2 ON t2.ID % 1000 = t1.ID

Выход:

ID      Name    Dept
123     Mike    IT
129     David   Tech Support
133     Linda   Analytics

Демонстрация на dbfiddle

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