to be more clear I have these kind of data.
Query 1) Data from 2016
Item Price Quantity
Shoe 20 10
Shoe 30
You can try following query, I have used T2016, T2017 etc as table names for year specific data.
select
T16.Item
,T16.Price [Price2016]
,T16.Quantity [Quantity2016]
,T17.Price [Price2017]
,T17.Quantity [Quantity2017]
,T18.Price [Price2018]
,T18.Quantity [Quantity2018]
,T19.Price [Price2019]
,T19.Quantity [Quantity2019]
from
(select *, ROW_NUMBER() over(Partition by Item order by Price) [row] from T2016) T16
left join (select *, ROW_NUMBER() over(Partition by Item order by Price) [row] from T2017) T17 on T16.Item=T17.Item and T16.row=T17.row
left join (select *, ROW_NUMBER() over(Partition by Item order by Price) [row] from T2018) T18 on T16.Item=T18.Item and T16.row=T18.row
left join (select *, ROW_NUMBER() over(Partition by Item order by Price) [row] from T2019) T19 on T16.Item=T19.Item and T16.row=T19.row