Libra, gracias por la ayuda, pero ahora se me presenta la siguiente duda.
Código SQL:
Ver originalCREATE TABLE #temp
(
num INT,
clase01 BIGINT,
clase02 INT,
clase03 INT,
clase04 INT,
clase05 INT,
clase06 INT
)
INSER T INTO #temp VALUES (1 , 1000 , 2000 , 3000 , 4000 , 5000 , 6000)
INSER T INTO #temp VALUES (2 , 7000 , 8000 , 9000 , 10000 , 11000 , 12000)
SELEC T tabla1.numero,tabla1.[1],tabla2.[2] FROM(
SELEC T numero,[1]
FROM
(
SELEC T * FROM #temp WHERE num=1
) AS t1
unpivot
(
[1] FOR numero IN (clase01,clase02,clase03,clase04,clase05,clase06)
) AS t2
) AS tabla1
LEFT JOIN
(SELEC T numero,[2]
FROM
(
SELEC T * FROM #temp WHERE num=2
) AS t1
unpivot
(
[2] FOR numero IN (clase01,clase02,clase03,clase04,clase05,clase06)
) AS t2) AS tabla2 ON (tabla1.numero=tabla2.numero)
El cambio es que si un campo es diferente al correr el UNPIVOT, marca error. En mi caso ocupo usar SMALLINT, INT y BIGINT, como le podria hacer??