Ниже мой текущий код.Я не уверен, что лучше всего изменить это, чтобы получить нужные мне результаты.
SELECT
T1.SC,
T1.AN,
T1.DOFS_DATE,
T2.M_ID,
T3.OPDT,
T4.MARKER,
T5.E_DTE,
T5.E_TME,
T5.E_PST_DTE,
T5.E_AMT,
T5.E_NAR_O,
T5.E_NAR_T
FROM E_Base.AR_MyTable T1
LEFT JOIN E_Base.Translation T2
ON T1.SC = T2.SC
AND T1.AN = T2.AN
LEFT JOIN E_Base.BA T3
ON T2.M_ID = T3.M_ID
LEFT JOIN E_Base.APF T4
ON T3.M_ID = T4.M_ ID
AND MARKER = 54
LEFT JOIN U_DB.TEH_201804 T5
ON T2.M_ID = T5.M_ID
AND T1.DOFS_DATE = T5.E_PST_DTE
QUALIFY ROW_NUMBER() OVER (PARTITION BY T2.M_ID ORDER BY T2.ID_END_DATE DESC, T3.E_END_DATE DESC) = 1
Приведенный выше код работает.Тем не менее, это последнее левое соединение в T5, где мне нужна помощь.
В T1 каждый M_ID назначил свой собственный DOFS_DATE, который может быть любой датой в течение года, и я хочу получить данные из T5 U_DB.TEH_201804 длясовпадающая датаОднако 5 U_DB.TEH_201804 относится только к апрелю 2018 года. Имеется 12 таблиц с одной и той же базой данных (201804, 201805, 201806 и т. Д.), Которые имеют одинаковые столбцы, но относятся к другому месяцу в году.
В идеале я хочу один раз объединить столбцы из T5, но поискать все 12 таблиц в базе данных, чтобы получить данные, соответствующие датам.
Я думал о UNION, но не уверен, какчтобы работать в этом.
Любая помощь будет принята с благодарностью!
Спасибо