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

Mostrar resultado de consulta en columnas

Estas en el tema de Mostrar resultado de consulta en columnas en el foro de Mysql en Foros del Web. Saludos, Tengo una consulta en SQL que me arroja el resultado de un identificador ordenado por un criterio: SELECT id_area, count(id_resp) FROM resp_encuesta WHERE id_resp ...
  #1 (permalink)  
Antiguo 24/02/2006, 15:27
 
Fecha de Ingreso: septiembre-2004
Mensajes: 18
Antigüedad: 19 años, 7 meses
Puntos: 0
Pregunta Mostrar resultado de consulta en columnas

Saludos,

Tengo una consulta en SQL que me arroja el resultado de un identificador ordenado por un criterio:

SELECT id_area, count(id_resp)
FROM resp_encuesta
WHERE id_resp = '1'
GROUP BY id_area

El Resultado lo arroja de la siguiente forma:

id_area id_resp(valor 1)
1 21
2 17
3 31
4 128
5 7

Lo que quiero hacer es generar una consulta que me muestre el resultado de id_resp cuando valga 2, 3, 4, etc. Y que quede de la siguiente forma:

id_area id_resp(valor 1) id_resp(valor 2) id_resp(valor 3)
1 21 3 81
2 17 35 42
3 31 85 63
4 128 52 33
5 7 45 18

Y así sucesivamente en columnas, les agradezco su colaboración para poder solucionar este inconveniente.

Saludos
Jimmy
  #2 (permalink)  
Antiguo 24/02/2006, 18:23
 
Fecha de Ingreso: noviembre-2005
Mensajes: 658
Antigüedad: 18 años, 5 meses
Puntos: 3
Algo asi puede servir.... pruebalo y me cuentas si funciono

SELECT id_area,
CASE id_resp
WHEN '1' THEN count(id_resp)
END AS r1,
CASE id_resp
WHEN '2' THEN count(id_resp)
END AS r2,
CASE id_resp
WHEN '3' THEN count(id_resp)
END AS r3,
CASE id_resp
WHEN '4' THEN count(id_resp)
END AS r4
FROM resp_encuesta
GROUP BY id_area
  #3 (permalink)  
Antiguo 24/02/2006, 19:22
 
Fecha de Ingreso: septiembre-2004
Mensajes: 18
Antigüedad: 19 años, 7 meses
Puntos: 0
Pregunta

Hola Monkita,

Super, era lo que necesitaba mil gracias, ahora bien ¿Cómo podría generar la consulta de acuerdo a lo siguiente?:

id_area 1
id_encuesta id_resp1 id_resp2 id_resp3
1
2
3
4
5
6
7
8
-----------------------------------------------------
id_area 2
id_encuesta id_resp1 id_resp2 id_resp3
1
2
3
4
5
6
7
8
------------------------------------------------------
.
.
. etc

De nuevo mil gracias por tu ayuda.

Jimmy
  #4 (permalink)  
Antiguo 25/02/2006, 08:55
 
Fecha de Ingreso: noviembre-2005
Mensajes: 658
Antigüedad: 18 años, 5 meses
Puntos: 3
Asi

SELECT id_area,id_encuesta
CASE id_resp
WHEN '1' THEN count(id_resp)
END AS r1,
CASE id_resp
WHEN '2' THEN count(id_resp)
END AS r2,
CASE id_resp
WHEN '3' THEN count(id_resp)
END AS r3,
CASE id_resp
WHEN '4' THEN count(id_resp)
END AS r4
FROM resp_encuesta
GROUP BY id_area,id_encuesta
ORDER BY id_area,id_encuesta
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:46.