SQL - datos de campo a columnas

 
Vista:
sin imagen de perfil

datos de campo a columnas

Publicado por Claudia (1 intervención) el 19/01/2018 01:20:45
Buen día, tengo el siguiente dilema el cual espero me puedan ayudar a resolver o ver que método puedo utilizar.

Se tiene una tabla de ediciones donde aloja información de ediciones de campos por lo que por cada edición que se le haga a un registro lo va insertando (Se repite varias veces el id y la información de lo que edita) en la misma inserta lo que tenia y lo que edito

Ahora bien lo que se requiere es por cada id único con el mismo tipo de edición muestre al lado todas las ediciones que se realizaron (estas varían) .

Lo que se requiere seria algo asi:

FCSOLICITUDID,FCORIGENEDICIONDESC,FCMODULODESC,FIATRIBUTOID,FCVALORANTES_1 FCVALORDESPUES_1....FCVALORANTES_N FCVALORDESPUES_N....

Muestro imagen de ejemplo de un id con sus diferentes ediciones (se debe agrupar por lo seleccionado y colocar las ediciones antes a lado derecho dependiendo de la n veces de edición)

ID |FCORIGENED|FCMODULODES|FIATRID|FCVALORANTES |FCVALORDESPUES
2017122|EDICION |DATOS HOGAR|61 |INDEPENDENCIA |PORTAL DE HUINALA 1 SECTOR
2017122|EDICION |DATOS HOGAR|62 |39 |6
2017122|EDICION |DATOS HOGAR|63 |MONTERREY |APODACA
2017122|EDICION |DATOS HOGAR|66 |NULL |8110339991
2017122|EDICION |DATOS HOGAR|67 |25.751332852237695|25.756399540551946
2017122|EDICION |DATOS HOGAR|67 |25.75540421590694 |25.755781799999994
2017122|EDICION |DATOS HOGAR|67 |25.65876090944815 |25.75540421590694
2017122|EDICION |DATOS HOGAR|67 |25.7557818 |25.755687563386253
2017122|EDICION |DATOS HOGAR|67 |25.755633284099698|25.755781799999994
2017122|EDICION |DATOS HOGAR|67 |25.755781799999994|25.7557818
2017122|EDICION |DATOS HOGAR|67 |25.755781799999994|25.755931575992495
2017122|EDICION |DATOS HOGAR|67 |25.755687563386253|25.755633284099698
2017122|EDICION |DATOS HOGAR|67 |25.755931575992495|25.75587453300114
2017122|EDICION |DATOS HOGAR|67 |25.75587453300114 |25.751332852237695
2017122|EDICION |DATOS HOGAR|68 |-100.1504093016225|-100.15462458459432
2017122|EDICION |DATOS HOGAR|68 |-100.1538130248624|-100.1504093016225
2017122|EDICION |DATOS HOGAR|68 |-100.1534235265821|-100.15335731209485
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 806
Bronce
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

datos de campo a columnas

Publicado por Leonardo Josué (1173 intervenciones) el 19/01/2018 16:05:01
Hola Claudia:

No nos dices con qué BD's estás trabajando, y por lo tanto resulta complicado darte una respuesta puntual, ya que cada DBMS trabaja con una sintaxis distinta y en algunos casos puede resultar muy sencillo o muy complicado lo que pretendes hacer.

En general tu problema se resuelve con un concepto de BD's que se llama PIVOT y que consiste justamente en pasar una tabla de filas a columnas.

Investiga un poco su tu motor de BD's soporta este tipo de consultas o en su defecto cómo es posible "Simular" esta funcionalidad. Aquí te dejo algunas ligas que creo que te pueden servir:

https://blogs.msdn.microsoft.com/spike/2009/03/03/pivot-tables-in-sql-server-a-simple-sample/

http://www.oracle.com/technetwork/es/articles/sql/caracteristicas-database11g-2108415-esa.html

http://stratosprovatopoulos.com/web-development/mysql/pivot-a-table-in-mysql/

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar