Ищу предложение о левом присоединении - PullRequest
0 голосов
/ 21 апреля 2020

У меня есть две таблицы t1 и t2. В t1 насчитывается 1641787 записей. В t2 33176007 записей. Я хочу взять два столбца из таблицы 2 и сохранить все время t1. Когда я использую левое соединение с t1 до t2, я получаю больше записей, чем t1. Я хотел бы получить такое же количество записей, как t1 после присоединения. Пожалуйста, дайте мне предложение. Вот мой код:

ВЫБЕРИТЕ t1. *, T2.City
ОТ t1 СЛЕДУЮЩЕЕ СОЕДИНЕНИЕ t2 ВКЛ t1.ID = t2.ID;

1 Ответ

1 голос
/ 21 апреля 2020

Вы можете агрегировать и выбрать произвольное значение:

select t1.*, t2.city
from t1 left join
     (select t2.id, any_value(t2.city) as city
      from t2
      group by t2.id
     ) t2
     on t1.id = t2.id;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...