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

Transponer Query

Estas en el tema de Transponer Query en el foro de Mysql en Foros del Web. Buenas, Lo que estoy necesitando es transponer los resultados de una consulta. El problema que surgio es que la tabla de datos se va actualizando ...
  #1 (permalink)  
Antiguo 28/07/2014, 08:52
 
Fecha de Ingreso: enero-2013
Mensajes: 64
Antigüedad: 11 años, 10 meses
Puntos: 0
Transponer Query

Buenas,

Lo que estoy necesitando es transponer los resultados de una consulta. El problema que surgio es que la tabla de datos se va actualizando semanalmente, y lo que se busca es generar una consulta única sin necesidad de "agregar" fecha en dicha consulta.

Los datos que tengo, por ejemplo son:

Localidad|Fecha|Fallas
A |01|25
B |01| 27
C |01| 23
A |02| 11
B |02| 20
C |02| 40

Y el resultado de la consulta que busco, sería:

Localidad| 01| 02 ------>(Fecha)
A| 25| 11
B| 27| 20
C| 23| 40


La única idea que se me ocurrio fue tirar la consulta

Código:
SELECT Localidad, 
CASE WHEN Fecha="01" THEN AVG(Fallas) END AS "01",
CASE WHEN Fecha_Fin="02" THEN AVG(Fallas) END AS "02"
FROM bd_datos
GROUP BY Localidad, Fecha
El problema tambíen que se me surgio en dicha consulta que hay que modificarla "manual" cuando se agregue una nueva fecha a la tabla. Es que me agrega resultados NULL, osea que cuando ejecuto la consulta la respuesta es:

Localidad| 01| 02 ------>(Fecha)
A| 25| NULL
B| 27| NULL
C| 23| NULL
A| NULL| 11
B| NULL| 20
C| NULL| 40

Alguna ayuda? Muchas gracias.

Saludos.
  #2 (permalink)  
Antiguo 29/07/2014, 01:55
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Respuesta: Transponer Query

MySql no tiene ninguna solución para este problema. Debes programarlo externamente (OFF TOPIC)
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Etiquetas: query, 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 13:41.