SQL - Columnas variables en SQL

 
Vista:
sin imagen de perfil

Columnas variables en SQL

Publicado por Carlos (2 intervenciones) el 17/07/2017 17:35:46
Hola estimados,
Me inscribí hace unos minutos en el foro, para solucionar un problema que me aqueja hace unos días.

Debo realizar un reporte para verificar el control de abastecimiento de X productos, de acuerdo a su comportamiento de la demanda y sus respectivos stocks.

La base de datos que consulto, tiene expresada en cada columna la demanda de cada semana, con los campos de la siguiente forma:
t_aupp$1 (columna 1)
t_aupp$2 (columna 2)
.
.
.
t_aupp$52 (columna 52)
donde el número expresado en cada campo corresponde a la demanda de cada semana.

En el reporte, necesito expresar, en columnas, la demanda de las últimas 4 semanas (semana actual inclusive)
En algunos foros de esta pag. vi que es necesario utilizar y declarar campos variables con una query variable.


el reporte quedaría más o menos según adjunto.

Les agradezco toda ayuda que me puedan otorgar.
Saludos!!
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

Columnas variables en SQL

Publicado por leonardo_josue (1173 intervenciones) el 19/07/2017 19:04:53
Hola Carlos:

No nos dices con qué BD's estas trabajando, por lo tanto resulta bastante complicado poder tratar de ayudarte...

Tu problema básicamente se resume en que necesitas crear una Consulta al 'vuelo' con la información que requieres... esto se denomina SQL dinámico y cada dbms lo maneja distinto... MySQL por ejemplo, utiliza sentencias preparadas:

https://dev.mysql.com/doc/refman/5.7/en/sql-syntax-prepared-statements.html

O SQL Server, utiliza el Procedimiento almacenado SP_EXECUTESQL para ejecutar una sentencia de este tipo:

https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-executesql-transact-sql

Si utilizas algún otro motor de BD's, investiga cómo puedes implementar este tipo de consultas dinámicas.

Saludos
Leo.
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
sin imagen de perfil

Columnas variables en SQL

Publicado por Carlos (2 intervenciones) el 01/08/2017 23:16:02
Gracias por tu respuesta, estoy trabajando con BD SQL SERVER

trataré con lo que me indicas.
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
sin imagen de perfil
Val: 2
Ha disminuido su posición en 18 puestos en SQL (en relación al último mes)
Gráfica de SQL

Columnas variables en SQL

Publicado por Jzon (1 intervención) el 03/08/2017 15:13:50
Puedes usar case y comenzar en la -3 si la semana es

select
,empleado

,case when @SemActual-3=semana then mostrarvalor end as Semana-3
,case when @SemActual-2=semana then mostrarvalor end as Semana-2
,case when @SemActual-1=semana then mostrarvalor end as Semana-1
,case when @SemActual=semana then mostrarvalor end as SemanaActual

Espero este claro el ejemplo 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