#mysql #sql #join
Вопрос:
У меня есть две таблицы, в одной из которых есть дубликаты идентификаторов, а в другой-разные. Я изо всех сил пытаюсь присоединиться к этим таблицам, чтобы получить желаемый результат, как показано ниже: Таблица 1
ID | Страна | Город |
---|---|---|
1 | США | Бостон |
1 | США | Детройт |
2 | Мексика | Мехико |
2 | Мексика | Tijuana |
3 | Канада | Торонто |
3 | Канада | Ванкувер |
Таблица 2
ID | Страна | Статус |
---|---|---|
1 | США | Открыть |
2 | Мексика | Закрытый |
3 | Канада | Открыть |
Я хотел бы, чтобы результат выглядел следующим образом:
ID | Страна | Город | Статус |
---|---|---|---|
1 | США | Бостон | Открыть |
1 | США | Детройт | Открыть |
2 | Мексика | Мехико | Закрытый |
2 | Мексика | Tijuana | Закрытый |
3 | Канада | Торонто | Открыть |
3 | Канада | Ванкувер | Открыть |
Комментарии:
1. Это выглядит очень просто
JOIN
. Что вы пытались сделать и почему это не сработало?2. Похоже, что в таблице 1 есть избыточные столбцы. Ему не нужны оба
id
иCountry
, так как они дублируют то, что внутриTable 2
.
Ответ №1:
Вы пробовали базовый JOIN
?
select t1.*, t2.status
from table1 t1 join
table2 t2
on t1.id = t2.id;