Как извлечь данные из таблиц 3 с максимальной датойКак фильтровать данные на основе столбца даты?
select
c.model_key, v.id, v.category_Id, v.Text1, v.Numeric1,
c.Name, fx.Currency_code, fx.Rate, fx.effective_dt
from
aps.v_m_fxrates fx
join
aps.t_m_value v on fx.Currency_code = v.Text1
join
aps.t_m_category c on v.Category_Id = c.Id
where
c.Name = 'FXRates'
and c.Model_Key = 25
and v.Text1 = fx.Currency_code
and fx.version = 2
Используя приведенный выше запрос, я получаю результаты, но результаты появляются для всех в effective_dt
. Вместо этого мне нужно выбрать только записи с последними effective_dt
. В приведенном ниже изображении есть 2 записи с AED, в которых дата с последней датой - 1999-03-31, которая должна быть возвращена. После этого я не знаю, как действовать дальше и фильтровать результат для достижения результата.
Я также попытался это
select
c.model_key, v.id, v.category_Id, v.Numeric1,
c.Name, fx.Currency_code, fx.Rate, fx.effective_dt
from
aps.v_m_fxrates fx
join
aps.t_m_value v on fx.Currency_code = v.Text1
join
aps.t_m_category c on v.Category_Id = c.Id
where
c.Name = 'FXRates'
and c.Model_Key = 25
and v.Text1 = fx.Currency_code
and fx.version = 2
and fx.effective_dt in (select MAX(effective_dt)
from aps.v_m_fxrates)
но ничего не возвращается.
Фактический выход:
Ожидаемые результаты:
работал на меня.Спасибо! – sujai