У меня есть две таблицы. Обе таблицы содержат идентификатор, который можно использовать для их объединения. Однако таблица 2 может иметь more than one row for the same ID
. Таблица 1 всегда будет иметь одну строку.
Например, table 1
содержит 60 000 строк. Когда я выполняю левое внутреннее соединение с table2
, оно возвращает ~171 000 строк.
То, что я пытаюсь сделать, это вернуть первую строку из таблицы 2, поэтому, когда я присоединяюсь к ним, я не создаю повторяющиеся записи.
Я не уверен, что это правильный подход, но это то, что я пробовал:
SELECT I.*, a.Name from table 1 I
INNER JOIN (SELECT MIN (a.ID), a.NAME FROM table 2 group by a.ID) as a
on I.ID = a.ID
Я получаю следующую ошибку:
Неправильный синтаксис рядом с «i».
Любые предложения о том, как я могу это исправить? Или получить результат другим способом?
MIN(a.ID)
в производной таблице. Технически в этом наборе результатов нет столбцаID
. - person Dave Johnson   schedule 16.10.2014i
в этом коде. - person Aaron Bertrand   schedule 16.10.2014