Ver Mensaje Individual
  #4 (permalink)  
Antiguo 29/12/2012, 12:14
GeriReshef
 
Fecha de Ingreso: julio-2012
Ubicación: Israel
Mensajes: 360
Antigüedad: 12 años, 5 meses
Puntos: 40
Respuesta: Cursor para ordenar datos horizontalmente

Esta es mi contribución:
Código SQL:
Ver original
  1. WITH T AS
  2. (SELECT ROW_NUMBER() OVER(Partition BY rut ORDER BY fono) Nm,
  3.         *
  4. FROM    #temp)
  5. SELECT  rut,
  6.         MAX(CASE WHEN Nm=1 THEN fono END) [01],
  7.         MAX(CASE WHEN Nm=2 THEN fono END) [02],
  8.         MAX(CASE WHEN Nm=3 THEN fono END) [03],
  9.         MAX(CASE WHEN Nm=4 THEN fono END) [04],
  10.         MAX(CASE WHEN Nm=5 THEN fono END) [05],
  11.         MAX(CASE WHEN Nm=6 THEN fono END) [06],
  12.         MAX(CASE WHEN Nm=7 THEN fono END) [07],
  13.         MAX(CASE WHEN Nm=8 THEN fono END) [08],
  14.         MAX(CASE WHEN Nm=9 THEN fono END) [09],
  15.         MAX(CASE WHEN Nm=10 THEN fono END) [10],
  16.         MAX(CASE WHEN Nm=11 THEN fono END) [11],
  17.         MAX(CASE WHEN Nm=12 THEN fono END) [12],
  18.         MAX(CASE WHEN Nm=13 THEN fono END) [13],
  19.         MAX(CASE WHEN Nm=14 THEN fono END) [14],
  20.         MAX(CASE WHEN Nm=15 THEN fono END) [15],
  21.         MAX(CASE WHEN Nm=16 THEN fono END) [16],
  22.         MAX(CASE WHEN Nm=17 THEN fono END) [17],
  23.         MAX(CASE WHEN Nm=18 THEN fono END) [18],
  24.         MAX(CASE WHEN Nm=19 THEN fono END) [19],
  25.         MAX(CASE WHEN Nm=20 THEN fono END) [20]
  26. FROM    T
  27. GROUP BY rut
  28. ORDER BY rut;
__________________
El Castellano no es mi lengua materna: discúlpenme por los errores gramaticales.
Mi blog