Я пытаюсь объединить 2 таблицы (key_ratios_cnd и key_ratios_snd), обе таблицы идентичны, а столбцы первичного ключа для обеих таблиц - символьные и fiscal_year.
В конечном наборе результатов я хочу строку с максимальным годом вобе таблицы для каждого символа.если в обеих таблицах присутствует строка с максимальным годом, то следует выбрать строку из key_ratios_cnd.
Я приведу ниже SQL-запрос, чтобы получить результат.Я хотел бы знать, есть ли другой способ написать запрос, который является более оптимизированным.
select sq2.*
from
(select sq.*,
max(id) over(partition by sq.symbol) as max_id,
max(fiscal_year) over(partition by sq.symbol) as max_year
from
( select *,'2' as id
from test.key_ratios_cnd
union all
select *,'1' as id
from test.key_ratios_snd
) as sq
) as sq2
where id = max_id and fiscal_year = max_year
order by symbol asc