Tabella pivot dynamic in SQL Server

Salve, ho la seguente tabella e voglio fare in modo che l’EcoYear sia in prima fila ma non ci sono una serie di anni e gli anni potrebbero iniziare in qualsiasi momento. Inoltre, i diversi casi avranno diversi anni di inizio, quindi ho bisogno di riempire 0 anziché null.

CaseID EcoYear NetInv NetOil NetGas 38755 2006 123 2154 525 38755 2007 123 2154 525 38755 2008 123 2154 525 38755 2009 123 2154 525 38755 2010 123 2154 525 38755 2011 123 2154 525 38755 2012 123 2154 525 38755 2013 123 2154 525 38755 2014 123 2154 525 38755 2015 123 2154 525 38755 2016 123 2154 525 38755 2017 123 2154 525 38755 2018 123 2154 525 38755 2019 123 2154 525 38755 2020 123 2154 525 

Ho bisogno che la tabella assomigli a questo:

 CaseID Item 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 38755 NetInv 38755 NetOil 38755 NetGas 

Inizialmente era stato fatto con Access usando una tabella incrociata.