Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Como generar un pivot a una tabla

Estas en el tema de Como generar un pivot a una tabla en el foro de SQL Server en Foros del Web. TENGO PROBLEMAS PARA PODER GENERAR EL PIVOT PARA LA SIGUIETE TABLA NO SE SI ALGUIN PODRIA APOYARME @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código SQL: Ver original CREATE TABLE ...
  #1 (permalink)  
Antiguo 06/11/2015, 12:23
 
Fecha de Ingreso: noviembre-2015
Mensajes: 3
Antigüedad: 9 años
Puntos: 0
Pregunta Como generar un pivot a una tabla

TENGO PROBLEMAS PARA PODER GENERAR EL PIVOT PARA LA SIGUIETE TABLA NO SE SI ALGUIN PODRIA APOYARME
Código SQL:
Ver original
  1. CREATE TABLE ejemplo (
  2. id_par VARCHAR(10)NOT NULL,
  3. tipo VARCHAR (50)
  4. )
  5.  
  6. INSERT INTO ejemplo VALUES ('GMI','SERVICIO')
  7. INSERT INTO ejemplo VALUES ('RPG','SERVICIO')
  8. INSERT INTO ejemplo VALUES ('AVI','SERVICIO')
  9. INSERT INTO ejemplo VALUES ('LTG','SERVICIO')
  10. INSERT INTO ejemplo VALUES ('SPR','SERVICIO')
  11.  
  12. SELECT * FROM Ejemplo

Última edición por gnzsoloyo; 06/11/2015 a las 12:34
  #2 (permalink)  
Antiguo 06/11/2015, 12:41
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Como generar un pivot a una tabla

A q te refieres con pivot??
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 06/11/2015, 13:45
 
Fecha de Ingreso: noviembre-2015
Mensajes: 3
Antigüedad: 9 años
Puntos: 0
Pregunta Respuesta: Como generar un pivot a una tabla

NECESITO CAMBIAR LA COLUMNAS A FILAS Y ENCONTRE QUE LA INSTRUCCION EN SQL ES PIVOT PERO NO SE COMO REALIZARLO Y SU SINTAXIS ES
SELECT <columna no dinamizada>,

[primera columna dinamizada] AS <nombre de columna>,

[segunda columna dinamizada] AS <nombre de columna>

...

[última columna dinamizada] AS <nombre de columna>

FROM

(<la consulta SELECT que genera los datos>)

AS <alias de la consulta de origen>

PIVOT

(

<función de agregación>(<columna que se agrega>)

FOR

[<columna que contiene los valores que se convertirán en encabezados de columna>]

IN ([primera columna dinamizada], [segunda columna dinamizada]

... [última columna dinamizada])

) AS <alias de la tabla dinamizada>

<cláusula ORDER BY opcional>;
  #4 (permalink)  
Antiguo 06/11/2015, 14:57
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Como generar un pivot a una tabla

Aqui hay 2 links de como hacerlo:

http://stackoverflow.com/questions/2...pivot-examples

http://stackoverflow.com/questions/1...-in-sql-server

Pero como se que no los vas a leer aqui esta la solucion a tu problema:

Código SQL:
Ver original
  1. CREATE TABLE ejemplo (
  2. id_par VARCHAR(10)NOT NULL,
  3. tipo VARCHAR (50)
  4. )
  5.  
  6. INSERT INTO ejemplo VALUES ('GMI','SERVICIO')
  7. INSERT INTO ejemplo VALUES ('RPG','SERVICIO')
  8. INSERT INTO ejemplo VALUES ('AVI','SERVICIO')
  9. INSERT INTO ejemplo VALUES ('LTG','SERVICIO')
  10. INSERT INTO ejemplo VALUES ('SPR','SERVICIO')
  11.  
  12.  
  13.  SELECT [GMI], [RPG], [AVi], [LTG], [SPR] FROM
  14. (SELECT [id_par], tipo FROM ejemplo) AS t1
  15. PIVOT (MAX(tipo) FOR id_par IN ([GMI], [RPG], [Avi], [LTG], [SPR]) ) AS t2

Recomendacion busca informacion en ingles........
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #5 (permalink)  
Antiguo 06/11/2015, 16:30
 
Fecha de Ingreso: noviembre-2015
Mensajes: 3
Antigüedad: 9 años
Puntos: 0
De acuerdo Respuesta: Como generar un pivot a una tabla

mil gracias

Etiquetas: pivot, select, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:39.