У меня есть запрос, пожалуйста, помогите мне с возможными способами оптимизировать мой запрос. Я использовал два CTE, а затем применил JOIN. Первый CTE предоставляет данные за 2018 год, а второй CTE - данные за 2019 год. Два данных о соединении за оба года в стране, к которой я присоединился.
Запрос
with cte as
(
select aa.Country_Name, SUM(MQTY) Qty from(
select * from ExportData where YEAR in ('0119','0219','0319') and FINANCIAL_YEAR='2018-19'
union
select * from ExportData where YEAR not in ('0120','0220','0320') and FINANCIAL_YEAR='2019-20'
)ab inner join countrymaster aa on COD=Country_Code
where DCODE in ('0502','0503','0504','0505','0506','0507','0508')
group by aa.Country_Name
)
,cte1 as
(
select aa.Country_Name, SUM(MQTY) Qty from (
select * from ExportData where YEAR in ('0118','0218','0318') and FINANCIAL_YEAR='2017-18'
union
select * from ExportData where YEAR not in ('0119','0219','0319') and FINANCIAL_YEAR='2018-19'
)ab inner join countrymaster aa on COD=Country_Code
where DCODE in ('0502','0503','0504','0505','0506','0507','0508')
group by DGCTRCOD,aa.Country_Name
)
select cte.Country_Name, cte1.Qty 'Qty 2018', cte.Qty 'QTY 2019' from cte
inner join cte1 on cte.Country_Name = cte1.Country_Name
Требуемый выход: