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

Select, representar valores de filas como columnas

Estas en el tema de Select, representar valores de filas como columnas en el foro de Bases de Datos General en Foros del Web. Hola a todos, Tengo un problema a la hora de realizar una selección entre múltiples tablas. Necesito que datos de las filas aparezcan como columnas. ...
  #1 (permalink)  
Antiguo 05/03/2009, 07:42
 
Fecha de Ingreso: marzo-2009
Mensajes: 76
Antigüedad: 15 años, 1 mes
Puntos: 0
Select, representar valores de filas como columnas

Hola a todos,

Tengo un problema a la hora de realizar una selección entre múltiples tablas. Necesito que datos de las filas aparezcan como columnas.

Tengo 3 tablas, llamadas Etapas, CargaEtapaDepto y Departamentos. Definidas de la siguiente forma.

Departmentos (ID, descripcion)
CargasEtapaDept (id, IDDEPARTAMENTO, IDETAPA, carga)
Etapas (ID, idProyecto, posicion, descripcion, finalizado(S/N))

Las columnas que los relacionan estan en mayúsculas.

En palabras, una etapa puede tener definidas varias cargas de trabajo para diferentes departamentos.

Por ahora lo más que he conseguido ha sido una select con el siguiente resultado:

etapa descripcionDept carga finalizado
----------------------------------------------------------------
1 Ingenieria 45 0
1 Mantenimiento 25 0
1 QA 15 0
1 FICO 15 0
2 IT 30 0
2 Ingenieria 30 0
2 Mantenimiento 40 0
3 QA 40 0
3 Mantenimiento 60 0
4 Ingenieria 40 1
4 Mantenimiento 50 1
4 QA 10 1
5 FICO 25 1
5 QA 75 1

el resultado que querría sería:

etapa finalizado ingenieria mantenimiento QA FICO IT
--------------------------------------------------------------------------------------
1 0 45 25 15 15 0
2 0 30 40 0 0 30
3 0 0 60 40 0 0
4 1 40 50 10 0 0
5 1 0 0 75 25 0

He estado leyendo sobre la función PIVOT, para SQL Server 2005, pero la base de datos es SQL Server 2000 y aún no está disponible. Creo que se puede hacer con SQL standard, de aquí que no lo publique en el foro de SQL Server.

Los departamentos (tanto el número de departamentos como el nombre) pueden ser variables, de ahí que no haga una select estática y asigne directamente el nombre de la columna devuelta.

Hay alguna manera de conseguirlo?

Muchas gracias.
Saludos.
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:34.