Показать сообщение отдельно
  #4  
Старый 14.12.2011, 15:44
chainik chainik вне форума
Начинающий
 
Регистрация: 30.06.2008
Сообщения: 140
Репутация: 8882
По умолчанию

Попробуй еще так
Идея вот в чем.
Сначала выполняется подзапрос, который выдает последнюю дату.
Эта дата передается в основной запрос в качестве параметра.
Работает. Но таблицу надо индексировать по дате, иначе будет все ОЧЕНЬ медленно
Код:
SELECT P1.GosReestr, Naimen, Obozn, P1.Zavnum, P1.Reslt, P1.Plandat, W1.Kuda, F2.Short_Naimen, P1.Location, P1.Depart_Loc,
        P1.Sect_Loc, VidDocum, NumBlank, P1.Vlad, F1.Short_Naimen, P1.Depart_Vlad, DP1.Depart, P1.Sect_Pover, S1.Section
 FROM Nomenkl N1, Factories F1, Departs DP1, Sections S1, Pribory P1
LEFT OUTER JOIN Works W1  ON
(W1.Dat = (SELECT Max(W2.Dat) FROM Works W2 WHERE (W2.GosReestr = P1.GosReestr)  AND
             (W2.Zavnum = P1.Zavnum)))
Ответить с цитированием