Ciao, ho la seguente tabella e voglio ruotare l'EcoYear in modo che sia tra i primi ma non ci sono un numero stabilito 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.
Tabella pivot dinamica in SQL Server
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 il tavolo per assomigliare 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
Questo è stato originariamente fatto con Access utilizzando un campo incrociato.
Breve risposta - Non farlo in SQL Server, fallo in qualsiasi applicazione tu stia utilizzando per presentare i dati. –
Il mio compito è farlo in SQL Server perché gli sviluppatori non possono usare Access nella nuova versione. Grazie! –
Una ricerca per "dynamic sql" "Pivot" dovrebbe mostrarti come farlo. Provalo e torna con eventuali problemi – podiluska