Самохвалов Григорий wrote:

Я то еще надеялся что имеются ввиду select from select, который появился в FB2. Но с ним, по крайней мере у меня, ничего подобного тоже не получается.

Тут вроде приводили пример решения с помощью derived tables, но он не совсем примитивен. Что-то типа:

select e.*, d.*
from k_employ e
  join ( select idlink, max(dt) as dt
         from k_employ_docs
         group by 1 ) as temp
    on temp.idlink = e.id
  join k_employ_docs d
    on d.idlink = e.id and d.dt = temp.dt

Ну или более традиционно:

select e.*, d.*
from k_employ e
  join k_employ_docs d
    on e.id = d.idlink
where d.dt = ( select max(dt)
               from k_employ_docs
               where idlink = e.id )


--
Дмитрий Еманов

Ответить