Estou precisando desarticular a tabela abaixo para que a saída fique como mostrada na imagem abaixo.
Isso exige que eu execute um UNPIVOT duas vezes no conjunto de dados ou posso realizar minha saída esperada usando UNPIVOT uma vez e especificando todas as colunas Mês e Valor disponíveis?
Meu script deve ser parecido com o seguinte para realizar o que eu preciso?
Select ID, Name, Age, Gender,Month,Value
FROM
(Select ID, Name, Age, Gender,Month1,Month2,Month3,Month4,Value1,Value2,Value3,Value4
FROM MyTable
) as cp
UNPIVOT
(
Month FOR Months IN (Month1, Month2, Month3,Month4),
Value for Values IN (Value1,Value2,Value3,Value4)
) AS up;
O que você quer fazer é uma aplicação cruzada em vez de um unpivot . Isso permite que várias colunas não sejam dinâmicas, enquanto
UNPIVOT
apenas uma única coluna não é dinâmica.Algo assim:
Os resultados: