Ver Mensaje Individual
  #4 (permalink)  
Antiguo 19/06/2014, 13:28
Avatar de drako_darpan
drako_darpan
 
Fecha de Ingreso: octubre-2008
Ubicación: Sinaloa
Mensajes: 617
Antigüedad: 15 años, 6 meses
Puntos: 58
Respuesta: Duda para obtener información por PIVOT

Libra, gracias por la ayuda, pero ahora se me presenta la siguiente duda.

Código SQL:
Ver original
  1. CREATE TABLE #temp
  2.     (
  3.     num INT,
  4.     clase01 BIGINT,
  5.     clase02 INT,
  6.     clase03 INT,
  7.     clase04 INT,
  8.     clase05 INT,
  9.     clase06 INT
  10.     )
  11.        
  12.        INSER T INTO #temp VALUES (1      ,      1000    ,      2000    ,     3000    ,      4000    ,      5000    ,      6000)
  13.        INSER T INTO #temp VALUES (2      ,      7000    ,      8000    ,     9000    ,     10000   ,    11000    ,    12000)
  14.      
  15.      
  16.     SELEC T tabla1.numero,tabla1.[1],tabla2.[2] FROM(
  17.     SELEC T numero,[1]
  18.     FROM
  19.     (
  20.     SELEC T * FROM #temp WHERE num=1
  21.     ) AS t1
  22.     unpivot
  23.     (
  24.     [1] FOR numero IN (clase01,clase02,clase03,clase04,clase05,clase06)
  25.     ) AS t2
  26.     ) AS tabla1
  27.     LEFT JOIN
  28.      
  29.     (SELEC T numero,[2]
  30.     FROM
  31.     (
  32.     SELEC T * FROM #temp WHERE num=2
  33.     ) AS t1
  34.     unpivot
  35.     (
  36.     [2] FOR numero IN (clase01,clase02,clase03,clase04,clase05,clase06)
  37.     ) 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??
__________________
Your Code as a Crime Scene...