Excel 2013.
Доброго дня!
Столкнулся с такой проблемой.
Есть условно две таблицы, которые нужно импортировать из Access и объединить:
T1 с полями KOD, Name, Date, G1, G2, GX... (около 200 000 записей)
T2 с полями KOD, sGroup, DateIn (около 8 000 записей)
Их нужно объеденить чтобы добавить в T1 поле Group
Объединение по полям KOD но в Т2 это поле не уникально, есть вариации записей по полям DateIn и искомому Group.
Поэтому должно соблюдаться еще одно условие Date = MAX(диапазон DateIn, где DateIn <=Date)
С импортом в Эксель проблем нет, проблемы с объединением (что в Access, что в Эксле)
Написал такой вот SQL.
Код |
---|
SELECT T1.*,
(SELECT TOP 1 sGroup FROM T2 WHERE T1.KOD=T2.KOD ORDER BY DateIn DESC) as GroupName
FROM T1 |
Вложенный запрос сам по себе работает, но как тольок его вставляю во внешний - запрос начинает отработку и зависает.
В Excell - сразу, в Access при попытке получить все резульаты запроса (а так оказывает видимые строки на экране, общее кол-во записей не выводит).
Может кто знает как модифицировать запрос, чтобы он заработал ?
Например можно ли заменить вложенный запрос LEFT JOIN ? Ума не приложу как это сделать. Отчегото кажется что JOIN не должен зависать.