Запрос Postgres в два стола - PullRequest
       7

Запрос Postgres в два стола

1 голос
/ 06 марта 2020

Мне нужно принести результат консультации.

Мне нужно принести последнюю версию каждого inst_code, а также его имя (таблица B)

My current scenario

Ответы [ 2 ]

1 голос
/ 06 марта 2020

Я думаю, вы можете использовать distinct on:

select distinct on (inst_code) *
from b join
     a
     using (inst_code)
order by inst_code, version desc;
1 голос
/ 06 марта 2020

В Postgres вы можете использовать distinct on для решения этой проблемы топ-1 на группу:

select distinct on(a.inst_code)
    a.inst_code,
    b.inst_name,
    a.version,
    a.status,
    a.date
from tablea a
inner join table b on b.inst_code = a.inst_code
order by a.inst_code, a.version desc, a.date desc
...