Ver Mensaje Individual
  #2 (permalink)  
Antiguo 02/03/2016, 15:43
Avatar de Libras
Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 4 meses
Puntos: 774
Respuesta: Consulta sobre sql en server 2000

Aqui podrias hacer un while, cursor o algo para recorrer todos los valores de la tabla e ir armando tu propia tabla de salida, esto porque no existen las funciones pivot en sql2000, seria algo como esto:
Código SQL:
Ver original
  1. DECLARE @x INT
  2. DECLARE @nombre VARCHAR(200)
  3. DECLARE @codigo VARCHAR(20)
  4. DECLARE @linea INT
  5. DECLARE @caso INT
  6. DECLARE @tarea Nvarchar(20)
  7. SET @x=1
  8.  
  9. SELECT *,(IDENTITY,1,1) AS rn INTO #temp FROM tabla
  10.  
  11. while (@x<=(SELECT COUNT(*) FROM #temp) )
  12. BEGIN
  13.    IF(SELECT isnull(caso1,'') FROM #temp WHERE rn=@x)<>'' AND  (SELECT isnull(tarea1,'') FROM #temp WHERE rn=@x <>'') )
  14.     BEGIN
  15.         SELECT @codigo=codigo,@nombre=nombre, @linea=linea,@caso=caso1, @tarea=tarea1 FROM tabla WHERE rn=@x
  16.         INSERT INTO resultados VALUES (@codigo,@nombre,@linea,@caso,@tarea)
  17.    END
  18.    
  19.    IF(SELECT isnull(caso2,'') FROM #temp WHERE rn=@x)<>'' AND  (SELECT isnull(tarea2,'') FROM #temp WHERE rn=@x <>'') )
  20.     BEGIN
  21.         SELECT @codigo=codigo,@nombre=nombre, @linea=linea,@caso=caso2, @tarea=tarea2 FROM tabla WHERE rn=@x
  22.         INSERT INTO resultados VALUES (@codigo,@nombre,@linea,@caso,@tarea)
  23.    END
  24.    
  25.    IF(SELECT isnull(caso3,'') FROM #temp WHERE rn=@x)<>'' AND  (SELECT isnull(tarea3,'') FROM #temp WHERE rn=@x <>'') )
  26.     BEGIN
  27.         SELECT @codigo=codigo,@nombre=nombre, @linea=linea,@caso=caso3, @tarea=tarea3 FROM tabla WHERE rn=@x
  28.         INSERT INTO resultados VALUES (@codigo,@nombre,@linea,@caso,@tarea)
  29.    END
  30.    
  31. SET @x=@x+1
  32. END
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Última edición por Libras; 02/03/2016 a las 15:57