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

Consulta SQL: Convertir columnas en filas

Estas en el tema de Consulta SQL: Convertir columnas en filas en el foro de Bases de Datos General en Foros del Web. Hola a todos, os pido ayuda con esta consulta. Tengo esta tabla: (las columnas ferias son casillas si/no de access) Empresa____feria1____feria 2____feria3 ========================= ___A__________x_________________x ___B___________________x_________ ...
  #1 (permalink)  
Antiguo 09/02/2010, 10:26
Avatar de arprielo  
Fecha de Ingreso: octubre-2007
Mensajes: 67
Antigüedad: 16 años, 6 meses
Puntos: 0
Consulta SQL: Convertir columnas en filas

Hola a todos, os pido ayuda con esta consulta.

Tengo esta tabla: (las columnas ferias son casillas si/no de access)

Empresa____feria1____feria 2____feria3
=========================
___A__________x_________________x
___B___________________x_________
___C____________________________x
___D_____________________________

Quisiera sacar dos tipos de listado, uno que me cuente el total de empresas de cada feria y el otro que me indique que empresas asisten.

LISTADO1
Ferias____Asistentes
==============
feria1_______1
feria2_______1
feria3_______2


LISTADO2
Ferias______Empresas
===============
feria1______A
feria2______B
feria3______A
feria3______C

Esposible hacer esto que planeto. Gracias
__________________
Viva Linux! viva Ubuntu...!
  #2 (permalink)  
Antiguo 09/02/2010, 10:52
Avatar de Taribo007  
Fecha de Ingreso: agosto-2007
Mensajes: 1.338
Antigüedad: 16 años, 8 meses
Puntos: 18
Respuesta: Consulta SQL: Convertir columnas en filas

Para el primer listado prueba esto:

SELECT 'Feria1' as Feria, Count(Feria1) AS Asistentes
FROM Tabla
GROUP BY Feria1
HAVING Feria1=true
UNION ALL
SELECT 'Feria2' as Feria, Count(Feria2) AS Asistentes
FROM Tabla
GROUP BY Feria2
HAVING Feria2=true
UNION ALL
SELECT 'Feria3' as Feria, Count(Feria3) AS Asistentes
FROM Tabla
GROUP BY Feria3
HAVING Feria3=true

Y para el segundo listado:

SELECT 'Feria1' as Feria,Empresa AS Asistentes
FROM Tabla
WHERE Feria1=true
UNION ALL
SELECT 'Feria2' as Feria,Empresa AS Asistentes
FROM Tabla
WHERE Feria2=true
UNION ALL
SELECT 'Feria3' as Feria,Empresa AS Asistentes
FROM Tabla
WHERE Feria3=true


Un saludo
  #3 (permalink)  
Antiguo 09/02/2010, 11:33
Avatar de arprielo  
Fecha de Ingreso: octubre-2007
Mensajes: 67
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: Consulta SQL: Convertir columnas en filas

Muchas gracias, hay un problema es que en la columna Feria no me marca los nombres de las ferias. Sale -1 en todas las filas, debe ser que me pone el SI en esa columna donde deberia de ir poniendo el nombre de la feria.

Se puede solucionar?
__________________
Viva Linux! viva Ubuntu...!

Etiquetas: columnas, filas, sql
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 00:15.