Access - Consulta con varios criterios

 
Vista:

Consulta con varios criterios

Publicado por JF (1 intervención) el 15/06/2007 20:33:22
Saludos Expertos

He tratado de montar una consulta compleja y ya no se que más intentar.
Trataré de explicar lo que necesito para que me digan si es posible.

Supongan que tengo datos diarios de una variable V a lo largo de N años.
Estos datos estan almeacados en una tabla que tiene una estructura sencilla mas o menos asi.

Campo1 Campo2 Campo3 Campo4
Año Mes Dia Valor_V

Lo que trato de hacer es una consulta que devuelva valores decadales (sumas cada tercio de mes) agrupados por año y mes. Asi la decada 1 es la sumatoria de los valores V desde el dia 1 hasta el dia 10 del mes M, la decada 2 es la sumatoria de los valores V desde el dia 11 hasta el dia 20 del mes M y la decada 3 es la sumatoria de los valores V desde el dia 21 hasta el final del Mes M. Hasta ahi todo parece fácil, y de hecho ya había encontrado una solución, pero es muy ineficiente. Simplemente todo lo hice a través de código VBA con bucles, pero cuando son muchos años tarda mucho.

También se que usando la clausula UNION puedo hacerlo en un solo paso pero la disposicion vertical no me es util

Lo que yo necesito obtener con la consulta que busco es un resultado asi:

Año Mes Decada1 Decada2 Decada3
2005 1 334 742 703
2005 2 998 381 168
2005 3 593 607 629
2005 4 543 126 909
2005 5 873 113 575
2005 6 335 103 972
2005 7 443 406 58
2005 8 903 962 252
2005 9 867 537 512
2005 10 590 13 577
2005 11 807 719 384
2005 12 835 394 931
2006 1 683 581 858
2006 2 639 198 855
2006 3 51 918 341
2006 4 840 624 486
2006 5 674 542 578
2006 6 97 495 953
2006 7 11 40 175
2006 8 983 986 3
2006 9 373 186 29
2006 10 281 238 344
2006 11 422 171 425
2006 12 202 213 737

En resumen lo que necesito saber es si access permite generar una consulta donde los campos derivados de expresiones de agregado permitan tener cada uno criterios diferentes. (Decada1= Sum(V) Where Dia<11; Decada2=Sum(V) Where Dia >10 and Dia <21; Decada3= Sum(V) Where Dia>20).

Agradezco de antemano a quien me oriente sobre el tema e igualmente a quien me diga si definitivamente esto no se puede hacer para no perder más tiempo.

Gracias a Todos

JF
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

RE:Consulta con varios criterios

Publicado por mi menda (1111 intervenciones) el 17/06/2007 02:51:42
SELECT Tabla1.Año, Tabla1.Mes, Sum(IIf([Dia]<11,[Valor_V])) AS Decada1, Sum(IIf([Dia] Between 11 And 20,[Valor_V])) AS Decada2, Sum(IIf([Dia]>20,[Valor_v])) AS Decada3
FROM Tabla1
GROUP BY Tabla1.Año, Tabla1.Mes;

Un Saludo
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

RE:Consulta con varios criterios

Publicado por JF (1 intervención) el 19/06/2007 16:10:50
Mil gracias. Ya lo probé y funcionó perfecto

Saludos

JF
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