Sacar promedios por meses

20/10/2009 - 18:08 por RP | Informe spam
Hola que tal, bueno me enfrento en un pequeño problema que nose como
resolverlo, espero que me puedan ayudar,
Tengo una tabla de Bienes (Item, Codigo, Descripcion, Unidad); una tabla
Unidad(Codigo, Descripcion, Abrev); una tabla Compra(Codigo, FechaCompra); y
una tabla DetalleAdq(Codigo, CodCompra, CodigoBien, PrecioUnit)
Lo que deseo hacer es un Query que me permita sacar el promedio del costode
cada bien en los ultimos 3 meses, algo que se vea asi como esto:

CodigoBien Bien Unidad Enero Febrero Marzo
1234 Papel UND 25.36 24.00 38.95
4321 Cafe GR 15.00 0 10.00
... ... ... ... ...
...

Tengamos en cuenta que para el caso de cafe en febrero me puede marcar 0, ya
que puede no haber adquisiciones en ese mes,

El query que estoy probando, me sale sólo con un mes que seria este:

Select
b.Codigo, b.Descripcion, u.Abrev, avg(da.CostoUnit)
From
Bien b, Unidad u, DetalleAdq da, Compra c
Where
b.Unidad=u.Codigo And da.CodBien=b.Codigo
And da.CodOC=c.Codigo
And Month(c.FechReg) And year(c.FechReg) 09
Group By
b.Codigo, b.Descripcion, u.Abrev

¿Como haria para que ese query me funcione para los 3 meses, Enero Febrero y
Marzo por Ejemplo, tal como quiero que se vea??, ¿Hay forma de hacerlo??,
Gracias de antemando

Preguntas similare

Leer las respuestas

#1 Ruben Garrigos
20/10/2009 - 18:39 | Informe spam
Hola RP,

Si el query que tienes te funciona bien, simplemente agrupa por meses. Sería
algo así:

Select
Month(c.FechReg) mes, b.Codigo, b.Descripcion, u.Abrev, avg(da.CostoUnit)
From
Bien b, Unidad u, DetalleAdq da, Compra c
Where
b.Unidad=u.Codigo And da.CodBien=b.Codigo
And da.CodOC=c.Codigo
And year(c.FechReg) 09
Group By
Month(c.FechReg),b.Codigo, b.Descripcion, u.Abrev
having Month(c.FechReg) in (1,2,3)


Un saludo,

Rubén Garrigós
Solid Quality Mentors

Blog: http://blogs.solidq.com/es/elrincondeldba

Hola que tal, bueno me enfrento en un pequeño problema que nose como
resolverlo, espero que me puedan ayudar,
Tengo una tabla de Bienes (Item, Codigo, Descripcion, Unidad); una
tabla
Unidad(Codigo, Descripcion, Abrev); una tabla Compra(Codigo,
FechaCompra); y
una tabla DetalleAdq(Codigo, CodCompra, CodigoBien, PrecioUnit)
Lo que deseo hacer es un Query que me permita sacar el promedio del
costode
cada bien en los ultimos 3 meses, algo que se vea asi como esto:
CodigoBien Bien Unidad Enero Febrero Marzo
1234 Papel UND 25.36 24.00 38.95
4321 Cafe GR 15.00 0 10.00
... ... ... ... ...
...
Tengamos en cuenta que para el caso de cafe en febrero me puede marcar
0, ya que puede no haber adquisiciones en ese mes,

El query que estoy probando, me sale sólo con un mes que seria este:

Select
b.Codigo, b.Descripcion, u.Abrev, avg(da.CostoUnit)
From
Bien b, Unidad u, DetalleAdq da, Compra c
Where
b.Unidad=u.Codigo And da.CodBien=b.Codigo
And da.CodOC=c.Codigo
And Month(c.FechReg) And year(c.FechReg) 09
Group By
b.Codigo, b.Descripcion, u.Abrev
¿Como haria para que ese query me funcione para los 3 meses, Enero
Febrero y Marzo por Ejemplo, tal como quiero que se vea??, ¿Hay forma
de hacerlo??, Gracias de antemando

Respuesta Responder a este mensaje
#2 RP
21/10/2009 - 15:34 | Informe spam
Hola Rubén, Bueno eso me muestra todo en una sóla peor no me visualiza como
yo quisiera, en una columna el mes1, en otra el mes2, y en otra el mes3, como
hago eso??

"Ruben Garrigos" wrote:

Hola RP,

Si el query que tienes te funciona bien, simplemente agrupa por meses. Sería
algo así:

Select
Month(c.FechReg) mes, b.Codigo, b.Descripcion, u.Abrev, avg(da.CostoUnit)
From
Bien b, Unidad u, DetalleAdq da, Compra c
Where
b.Unidad=u.Codigo And da.CodBien=b.Codigo
And da.CodOC=c.Codigo
And year(c.FechReg) 09
Group By
Month(c.FechReg),b.Codigo, b.Descripcion, u.Abrev
having Month(c.FechReg) in (1,2,3)


Un saludo,

Rubén Garrigós
Solid Quality Mentors

Blog: http://blogs.solidq.com/es/elrincondeldba

> Hola que tal, bueno me enfrento en un pequeño problema que nose como
> resolverlo, espero que me puedan ayudar,
> Tengo una tabla de Bienes (Item, Codigo, Descripcion, Unidad); una
> tabla
> Unidad(Codigo, Descripcion, Abrev); una tabla Compra(Codigo,
> FechaCompra); y
> una tabla DetalleAdq(Codigo, CodCompra, CodigoBien, PrecioUnit)
> Lo que deseo hacer es un Query que me permita sacar el promedio del
> costode
> cada bien en los ultimos 3 meses, algo que se vea asi como esto:
> CodigoBien Bien Unidad Enero Febrero Marzo
> 1234 Papel UND 25.36 24.00 38.95
> 4321 Cafe GR 15.00 0 10.00
> ... ... ... ... ...
> ...
> Tengamos en cuenta que para el caso de cafe en febrero me puede marcar
> 0, ya que puede no haber adquisiciones en ese mes,
>
> El query que estoy probando, me sale sólo con un mes que seria este:
>
> Select
> b.Codigo, b.Descripcion, u.Abrev, avg(da.CostoUnit)
> From
> Bien b, Unidad u, DetalleAdq da, Compra c
> Where
> b.Unidad=u.Codigo And da.CodBien=b.Codigo
> And da.CodOC=c.Codigo
> And Month(c.FechReg) And year(c.FechReg) 09
> Group By
> b.Codigo, b.Descripcion, u.Abrev
> ¿Como haria para que ese query me funcione para los 3 meses, Enero
> Febrero y Marzo por Ejemplo, tal como quiero que se vea??, ¿Hay forma
> de hacerlo??, Gracias de antemando
>


.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida